2017-02-28 116 views
0

有沒有辦法檢索和顯示CMD腳本中的Windows錯誤消息的文本?CMD文件:翻譯Windows錯誤消息

例如,假設MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。與此相關的Windows錯誤信息是: 「系統找不到指定文件」

我可以檢索和顯示我的CMD腳本內?例如,

REM mycmd.cmd 
MYAPP.EXE 
ECHO %ERRORMESSAGE% 

謝謝。

回答

2

Asumming程序返回一個標準窗口system error code作爲退出代碼

myapp.exe 
net helpmsg %errorlevel% 
0
FOR /f "delims=" %%a IN ('COPY /y "%sourcedir%\xyz" "%sourcedir%\pol" 2^>^&1') DO SET "copyresult=%%a" 

ECHO %ERRORLEVEL% %copyresult% 

假定源文件不存在,則錯誤消息應該被從設備2(錯誤)重定向到設備1(標準輸出),因此通過for%%a並由此應用copyresult

這產生errorlevel 1爲copy的情況。

如果代替copy使用不存在的命令等czopy,然後errorlevel將是9009,但由於輸出是兩行,

「CzOPY」不被識別爲內部或外部命令,
可操作的程序或批處理文件。

只有最後被分配到copyresult