有没有办法在CMD脚本中检索和显示Windows错误消息的文本?
例如,假设MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。与此关联的Windows错误消息是: "系统找不到指定的文件"
我可以在我的CMD脚本中检索并显示它吗?例如,
REM mycmd.cmd
MYAPP.EXE
ECHO %ERRORMESSAGE%
感谢。
答案 0 :(得分:4)
Asumming your program返回标准窗口system error code作为退出代码
myapp.exe
net helpmsg %errorlevel%
答案 1 :(得分:0)
FOR /f "delims=" %%a IN ('COPY /y "%sourcedir%\xyz" "%sourcedir%\pol" 2^>^&1') DO SET "copyresult=%%a"
ECHO %ERRORLEVEL% %copyresult%
假设源文件不存在,则应将错误消息从设备2(stderr)重定向到设备1(stdout),因此for
应用于%%a
并由此{ {1}}。
这会为copyresult
案例生成errorlevel
1。
如果您使用copy
之类的不存在的命令代替czopy
,则copy
将为9009,但由于输出位于两行,
'CzOPY'未被识别为内部或外部命令,
可操作程序或批处理文件。
仅将最后一个分配给errorlevel