我試圖構建一個函數,它將顯示某個文件名所在的所有路徑。該函數將採用一個參數,即文件名。 結果可以是所有路徑的列表,也可以是系統中沒有此文件的消息。獲取powershell顯示可以在驅動器上找到某個文件的所有路徑
我是Powershell的新手,而且我還沒有掌握語法。 我已經試過這樣:
Get-ChildItem -Path -Include notepad.exe
但拋出的錯誤消息。我目前正在嘗試:
$i="notepad.exe"
Foreach ($i in Get-ChildItem c:\ -Recurse){echo -Path}
現在開始,它仍在運行,不知道會發生什麼,真的。
編輯:回顯行的大量,只是說:「-Path」 ......
任何人可以幫助解決這個問題?順便說一句,我正在運行Powershell 1.0。
因此,要解釋什麼,我希望看到執行該命令時,這裏是我所尋找的* .TXT後想到一個例子:
C:/foo.txt
C:/A/foobar.txt
C:/A1/foo.txt
等,上市的路徑給所有。我的硬盤上的txt文件。只有路徑,每行一個,不需要額外的信息。
EDIT2:
我已經完成了。我將把這個問題留給那些未來尋找這個問題的人。
我所用這個(這個具體的例子會交給你在你的硬盤,編輯在需要所有.zip文件的列表)功能:
Get-ChildItem -Path c:\ -Include "*.zip" -Recurse -Force -Name > c:\listOfPaths.txt
這創建了一個名爲listOfPaths.txt文件我C:\文件夾,其中包含以硬盤驅動器的所有子文件夾中以.zip結尾的所有文件的所有出現的列表。
未提及「c:\」位,但我不介意。
EDIT3:
感謝capar的更完整版本。
這裏是卡帕爾的代碼(或如何得到它的工作,因爲GET-兒童不工作1.0)
Get-ChildItem -Path c:\ -Recurse *.txt | Select-Object -Property FullName
+1把你帶回來爲0,我沒有看到任何值得一downvote的 – 2009-04-18 03:47:19
感謝卡帕爾,仍試圖找出這個命令了。 – KdgDev 2009-04-18 03:48:41
爲什麼有人強姦這篇文章,並downvote它?'dir * .zip/s> foo.txt'會做大約相同。 – ojblass 2009-04-18 04:44:41