1

The system cannot find the drive specified.エラーが発生した場合The system cannot find the path specified.、「fld_chk.out」ファイルをチェックしてループを発生させることができるWindowsバッチプログラムを開発しようとしています。

しかし、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 に答える