2014-03-27 45 views
0

我正在嘗試編寫一個PowerShell腳本,它將搜索網絡共享中名爲「abc」的所有文件夾。在這個共享中存在多個位於不同目錄中的名稱爲「abc」的文件夾的多個實例PowerShell顯示特定文件夾名稱的遞歸內容

我想列出所述目錄中名爲「abc」的每個文件夾的文件和文件夾內容。到目前爲止,我已經讓PowerShell列出了網絡驅動器中名爲「abc」的所有文件夾的實例,但之後我就陷入了困境。

我可以將其轉換爲另一個命令,然後搜索並列出每個文件夾的內容?

回答

1

你可以嘗試像htis

Get-ChildItem -Filter "abc" -Recurse -Path "\\myserver\share" | #Find abc 
Where-Object { $_.PSIsContainer } | #Get only abc-folders 
Get-ChildItem -Recurse | #Search through each abc-folder 
Where-Object { !$_.PSIsContainer } #Get only files 

,如果你的服務器或使用psremoting上本地運行腳本的性能會更好(例如,使用Invoke-Command)。問題在於,它在遞歸搜索所有文件和文件夾之前,從第一行Get-ChildItem行中的搜索結果中刪除文件。

如果您有PS 3.0或PS 4.0,你也可以使用:

Get-ChildItem -Filter "abc" -Recurse -Path "\\myserver\share" -Directory | #Find abc-folders 
Get-ChildItem -Recurse -File #Get files inside those folders 
+0

伴侶你的傳奇,感謝堆。 :) – user3467484

相關問題