CMD文件:翻译Windows错误消息

CMD文件:翻译Windows错误消息,windows,batch-file,cmd,error-handling,Windows,Batch File,Cmd,Error Handling,有没有办法在CMD脚本中检索和显示Windows错误消息的文本 例如,假设MYAPP.EXE返回2(未找到错误文件)。与此关联的Windows错误消息为: “系统找不到指定的文件” 我可以在CMD脚本中检索并显示它吗?比如说, REM mycmd.cmd MYAPP.EXE ECHO %ERRORMESSAGE% 谢谢。Asumming您的程序将返回一个标准windows作为退出代码 myapp.exe 净帮助消息%errorlevel% 假设源文件不存在,那么错误消息应该从设备2(stde

有没有办法在CMD脚本中检索和显示Windows错误消息的文本

例如,假设MYAPP.EXE返回2(未找到错误文件)。与此关联的Windows错误消息为: “系统找不到指定的文件”

我可以在CMD脚本中检索并显示它吗?比如说,

REM mycmd.cmd
MYAPP.EXE
ECHO %ERRORMESSAGE%

谢谢。

Asumming您的程序将返回一个标准windows作为退出代码

myapp.exe
净帮助消息%errorlevel%
假设源文件不存在,那么错误消息应该从设备2(stderr)重定向到设备1(stdout),然后由
for
应用到
%%a
,然后再
copyresult

这将为
copy
案例生成
errorlevel
1

如果使用不存在的命令(如
czopy
代替
copy
),则
errorlevel
将为9009,但由于输出在两行上

“CzOPY”未被识别为内部或外部命令,
可操作的程序或批处理文件

只有最后一个被分配给
copyresult

FOR /f "delims=" %%a IN ('COPY /y "%sourcedir%\xyz" "%sourcedir%\pol" 2^>^&1') DO SET "copyresult=%%a"

ECHO %ERRORLEVEL% %copyresult%