我想在我的 C: 和 E: 驅動程式中搜索一個檔案。如果檔案存在則顯示“檔案存在” 否則:顯示檔案不存在。我創建以下代碼:
$filename = 'Myfile.exe'
Get-Childitem -Path C:\\, E:\\ -Include $filename -Recurse | %{$_.FullName}
$filename = 'Myfile.exe'
"Test to see if file $filename exists"
if (Test-Path -Path $filename) {
"file exists!"
} else {
"File doesn't exist."
}
注意:Myfile 可能位于不同的檔案夾中
當我運行我的腳本時,我可以看到 myfile.exe,但結果是“檔案不存在”。
我的腳本有什么問題?
uj5u.com熱心網友回復:
從技術上講,您Get-ChildItem一個人就足以讓您知道它通過列印檔案的完整路徑找到了檔案。無論如何,正如史密斯先生在他的評論中提到的那樣,您需要將條件陳述句放在您的內部Foreach-Object以獲得預期的結果。
這是我對此的看法:
$filename = 'Myfile.exe'
if (Get-Childitem -Path "C:\", "E:\" -Include $filename -Recurse -OutVariable "Found") {
Write-Output -InputObject "File exists!"
#$found.FullName
}
else {
Write-Output -InputObject "File doesn't exist."
}
利用 PowerShell 允許將整個運算式放在if()陳述句中的靈活性,這就是您需要的全部。找到檔案后,讓它輸出檔案存在,否則,說它不存在。
- 該
-OutVariable引數允許您將物件保存到變數 ($found) 中,以防您稍后需要參考它的任何屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/487516.html
標籤:电源外壳 条件语句 PowerShell cmdlet
上一篇:Powershell簡單腳本
