有沒有辦法檢索和顯示CMD腳本中的Windows錯誤消息的文本?CMD文件:翻譯Windows錯誤消息
例如,假設MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。與此相關的Windows錯誤信息是: 「系統找不到指定文件」
我可以檢索和顯示我的CMD腳本內?例如,
REM mycmd.cmd
MYAPP.EXE
ECHO %ERRORMESSAGE%
謝謝。
有沒有辦法檢索和顯示CMD腳本中的Windows錯誤消息的文本?CMD文件:翻譯Windows錯誤消息
例如,假設MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。與此相關的Windows錯誤信息是: 「系統找不到指定文件」
我可以檢索和顯示我的CMD腳本內?例如,
REM mycmd.cmd
MYAPP.EXE
ECHO %ERRORMESSAGE%
謝謝。
Asumming程序返回一個標準窗口system error code作爲退出代碼
myapp.exe
net helpmsg %errorlevel%
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