单独运行命令时,批处理脚本中psexec命令返回的错误级别有所不同。
在cmd提示符下执行时,以下代码:
> psexec -nobanner \\xxx -e -h -s del /f /q C:\Windows\Temp\1.log
PsExec could not start del on xxx:
The system cannot find the file specified.
> echo %errorlevel%
2
但是在bat脚本中输入相同的代码时:
FOR /F "tokens=1,2 delims=," %%a IN (data.csv) DO (
psexec -nobanner \\%%a -e -h -s del /f /q C:\Windows\Temp\1.bin
ECHO %ERRORLEVEL%
)
结果:
PsExec could not start del on xxx:
The system cannot find the file specified.
0
我知道该行应读为... -s cmd / c del / f ...才能正常工作,但是我在这里进行测试以捕获错误。我在其他一些命令中也看到了这种情况。