2013-02-26 56 views
0

我試圖遞歸搜索包含.exe的指定文件的目錄,然後保存該目錄路徑以便稍後在變量中使用。Powershell保存ls搜索的目錄路徑?

我計算過,使用:

ls -recurse -filter "PsExec.exe" | sort name | ft directory,name 

將顯示包含.exe的目錄。有沒有一種方法可以將目錄保存下來,以便以後可以使用它在我的腳本的另一部分中引用.exe文件? .exe將被保存在一個動態命名的文件夾中,這就是爲什麼我無法硬編碼它的路徑。

+1

可以保存多個屬性保證了文件是獨一無二的?或者它會返回一組文件? – SirPentor 2013-02-26 20:24:21

+0

你可以在數組中傳遞結果'$ items = ls -recurse -filter「PsExec.exe」|排序名稱| ft目錄,名稱' – Hiten004 2013-02-26 20:27:59

+0

您不想將'format-table'的結果傳遞給'$ items',但其餘部分是個好主意。 – SirPentor 2013-02-26 20:29:21

回答

3

如果你只是想的完整路徑保存到文件的單個實例,您可以使用

$path = ls -recurse -filter "PsExec.exe" | select -first 1 | select -expand FullName 

或者,如果你想

$file = ls -recurse -filter "PsExec.exe" | select -first 1 | select Name,FullName,Directory 

$file.Name 
$file.FullName 
$file.Directory 
+0

有沒有辦法讓它搜索隱藏的文件夾呢? – fifamaniac04 2013-02-26 21:15:57

+0

將'-Force'標誌添加到'ls'調用中 – latkin 2013-02-26 22:27:54