我在需要運行nodejs應用程序的窗口中編寫一個小批處理文件。在運行應用程序之前,我需要確保該節點是由用戶安裝的,並且如果不向他顯示該節點是必需的消息。批處理文件 - 檢查命令是否可用
我所做的是:
@echo OFF
setlocal EnableDelayedExpansion
REM Check if node is installed
for /f "delims=" %%i in ('node -v') do set output=%%i
IF "!output!" EQU "" (
echo node could not be found
) else (
node %~dp0app.js
)
如果用戶已經安裝了那麼output
將包含版本號節點。如果沒有安裝,那麼它將是空的。這個邏輯起作用。但是,如果沒有安裝節點(node -v
命令未找到),該批次的結果也顯示了以下的輸出:
'node' is not recognized as an internal or external command,
operable program or batch file.
node could not be found
我想隱藏來自用戶的「不認可」的消息,只是表示「節點不能被發現」。
我該如何隱藏它?
當命令不存在時,cmd shell將爲%ERRORLEVEL%返回9009。請參閱http://stackoverflow.com/questions/23091906/official-ms-reference-for-cmd-exe-errorlevel-9009。沒時間留下完整的答案。 – indiv