2016-08-05 41 views
1

我是windows腳本中的新手,所以請耐心等待。通過Windows命令行搜索和組織數據

我想從多個文件夾中找到「測試」文件夾。從多條路徑,如

搜索測試文件夾:

/rbl.com/mailroot/test 
/pml.com/mailroot/test 
/pax.com/mailroot/ 

想要得到的輸出這樣的:

[email protected] 
[email protected] 

我已經運行此命令,得到的結果dir /S test > c:\results.txt

輸出:

Volume in drive C has no label. 
Volume Serial Number is 4A9E-06D4 

Directory of C:\Program Files (x86)\Parallels\Plesk\Mail Servers\Mail Enable\Postoffices\rbl.com\MAILROOT 

08/05/2016 12:36 AM <DIR>   test 
     0 File(s)    0 bytes 

Directory of C:\Program Files (x86)\Parallels\Plesk\Mail Servers\Mail Enable\Postoffices\pml.com\MAILROOT 

08/05/2016 12:36 AM <DIR>   test 
     0 File(s)    0 bytes 

但如何提取的信息等:

[email protected] 
[email protected] 
+0

您正在使用哪個版本的PowerShell(請參閱'$ PSVersionTable.PSVersion.Major')? –

回答

0

這應該做的伎倆

ls test -Directory -Recurse | % { "$($_.Name)@$($_.Parent.Parent.Name)" } 

它遞歸搜索您的文件夾的測試文件夾,然後打印出來的文件夾的父它的父,和該文件夾的名稱,如你想要的格式。

+0

反過來。 ''{0} @ {1}「-f $ _。Name,$ _. Parent.Parent.Name' –

+0

我有運行命令'ls test -Directory -Recurse | %{「$($ _。Parent.Parent.Name)@ $($ _。Name)」}'顯示如下輸出: **[email protected]** ** aoryxcarrental.ae @測試** – blaCkninJa

+0

它的工作原理我已經通過這種方式運行相同的命令'ls test -Directory -Recurse | %{「$($ _。Name)@ $($ _。Parent.Parent.Name)」}' – blaCkninJa