以下代码始终将错误级别显示为0,但当复制命令在for循环命令之外完成时,它返回非零错误级别。
for /f "usebackq delims=" %%x in (`copy x y`) do (
set VAR=%%x
)
ECHO Errorlevel = %ERRORLEVEL%
ECHO VAR = %VAR%
在for循环中执行copy命令,是否有可能获取其错误级别(errorlevel)?
EnableDelayedExpansion
。 - Tim AbellFOR /F
文件循环的解决方案,而不是原始问题中的FOR /F
命令循环。请参见:"ERRORLEVEL in FOR /F Command Loop Returns Unexpected Result"。 - srage