2012-09-15 41 views
4

要檢查命令可在bash shell,我通常會做:如何檢查命令在Windows shell中是否可用?

​​

什麼是Windows等價?

+0

你的意思的PowerShell或命令提示符? –

+0

命令提示符:-)但是如果你發佈了一個power shell的答案,我會+1,只是因爲我會學到一些東西。 –

+0

對於Powershell http://stackoverflow.com/questions/3919798/how-to-check-if-a-cmdlet-exists-in-powershell-at-runtime-via-script –

回答

2

您可以使用非常相似的

%command% >nul 2>&1 || (
    echo "Error: command not found" 
    exit /b 1 
) 

理所當然的東西,這將實際執行命令,但大多數命令不會做任何事情如果沒有適當的參數。如果你想更確定,你可以使用%command% /? >nul 2&1。這將嘗試將幫助該命令,但不執行

更新: 完全避免執行命令,考慮where.exe。它與Vista和Windows 7捆綁在一起。對於其他操作系統,您可以下載它。請參考this post on how to download it

一旦擁有它,您可以使用/Q開關來運行它以避免額外的輸出。返回碼0意味着找到命令。一旦我發現,where命令需要您提供擴展名。

其中的另一端,有一個lengthy discussion here約了一批「一襯裏」,如果沒有指定的擴建工程(但實際上失敗,當你指定擴展名)

+0

這是一個有趣的選擇。並不總是想要的,但仍然可以是有用的。 –

+0

我已更新我的答案,以包含不執行您正在測試的命令的替代方案 – Slav

相關問題