1

我正在尝试开发一个 Windows 批处理程序,如果出现类似The system cannot find the drive specified.或错误The system cannot find the path specified.,则可以检查“fld_chk.out”文件并可能发生循环。

但是 cd A:\rr\Br>fld_chk.out 没有捕获这些错误。

如何捕捉那里的标准错误?

我的代码是这样的: -

cd A:\rr\Br>fld_chk.out
cd B:\yy\dd>>fld_chk.out
find /c "The system cannot find" *.out>fld_count_check_1.out
find /c "0" fld_count_check_1.out>fld_count_check_2.out
FOR /F "TOKENS=1* DELIMS=:" %%B IN (fld_count_check_2.out) DO SET b=%%C
set _count=%b%
IF %_count% EQU 2 goto Success
IF not %_count% EQU 2 goto notSuccess
:Success
echo folder found
:notSuccess
echo folder not found

在此先感谢

4

1 回答 1

2

cd执行此操作的方法是在执行命令后检查 %ERRORLEVEL% 值:

cd A:\rr\Br 2> NUL
if %errorlevel% equ 0 (
   echo folder found
) else (
   echo folder not found
)

如果值为 0,CD 被正确执行并且当前目录被改变;否则 (errorlevel==1) 驱动器或目录不存在。

部分是为了2> NUL避免错误消息出现在屏幕上。

于 2012-11-15T08:43:21.753 回答