2014-07-05 76 views
1

目的是爲了驗證它傳遞到一定Powershell的功能,以避免以下的錯誤之前的參數是否可以執行:如何驗證是否可以使用Powershell執行路徑?

& : The term 'c:\helloworld' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 
At C:\functions\function.ps1:67 char:9 
+  & $createServiceCommand install $serviceName 
+   ~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: (c:\helloworld:String) [], CommandNotFoundException 
    + FullyQualifiedErrorId : CommandNotFoundException 

回答

3
if (get-command helloworld -erroraction silentlycontinue) { 
    "Command was found" 
} 
else { 
    "Command was not found" 
} 
+0

將'helloworld'改爲commandPath後'C:\ Chocolatey \ lib \ chocolatey.0.9.8.24 \ tools \ chocolateyInstall \ NuGet.exe'執行這個腳本會導致'找到命令'。按原樣運行該腳本會導致'找不到命令'。這回答了這個問題。謝謝。我會接受並讚揚答案。 – 030

-1

您可以使用測試路徑cmdlet來檢查路徑的存在。

+0

'Test-Path C:\ temp'結果爲'true',表示路徑存在,但並不表示它是否可以執行。 – 030

+0

根據您收到的錯誤消息,這意味着路徑不存在,因此我的答案是。 –

相關問題