2017-02-28 117 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