2015-07-03 19 views
-2

我需要運行一個程序,通過大量的文件夾(所有這些文件夾都具有相同的結構)來查看特定文件(​​)。我需要找到所有的情況,其中一個特定的字符串出現在​​多次不是5(5,10,15等)的倍數並列出這些文件夾。Powershell中的Python搜索代碼

我已經在Python中編寫了一個代碼來檢查這個(我有點生疏,所以可能有錯誤),但不幸的是我無法讓Python工作在我的工作計算機上,也不能訪問來自家用電腦的文件。因此,我可能會需要它在另一種語言(如Powershell),但我沒有任何使用該語言的經驗,所以有點卡住了。

import os 

path = 'C:\Users\simotayl\Desktop\Test folder' # will amend once I've assembled the folders 

for subFolders in os.walk(path): 
    for subfolder in subFolders: 
     data = path + "/" + subfolder + "/static/data.js" # path to relevant file 
     f = open(data, 'r') 
     fc = f.read() 
     qcount = fc.count('question_text') 
     if qcount%5 !=0: 
      print subfolder 
     f.close() 

編輯:抱歉,指定我無法讓Python在我的工作計算機上運行。

+0

你說的是什麼庫? 'os'帶有python,所以如果你的工作計算機中安裝了python,'os'也會在那裏。 –

+0

什麼是您的*實際問題*?如果你指的是[這個前面的問題](http://stackoverflow.com/q/31207931/3001761)請注意,你應該**編輯它**而不是要求一個新的,但在這個階段,建議刪除舊的。 – jonrsharpe

+0

對不起,忘記刪除舊的之前重新它。問題是我無法讓我的工作計算機上運行Python(愚蠢的管理問題)。我想它可以修改爲使用不同的語言,但我的編碼知識相當有限(這絕對不是我的日常工作) – user3179403

回答

0

繼承人在Poweshell一個代碼,應該做的是你的Python代碼:

$files = Get-ChildItem -Path "C:\Users\simotayl\Desktop\Test folder" -Recurse -Filter "data.js" 
foreach ($file in $files) 
{ 
    $results = Get-Content $file.FullName | Select-String -Pattern "question_text" 
    If ($results.length%5 -eq 0) 
    { 
     $file.DirectoryName 
    } 
}