バッチ ファイルは、「指定されたファイルが見つかりません」と出力します。エラーをリダイレクトする代わりにnul
set /p firstline=<text.txt >nul 2>nul
pause
エラーメッセージを抑制するにはどうすればよいですか
バッチ ファイルは、「指定されたファイルが見つかりません」と出力します。エラーをリダイレクトする代わりにnul
set /p firstline=<text.txt >nul 2>nul
pause
エラーメッセージを抑制するにはどうすればよいですか
このコードでは、リダイレクトは無視されます。理由はわかりませんが、リダイレクトメカニズム自体でエラーが発生するため、後のredirは実行されないのではないかと思います。
エラーが予想される場所でリダイレクトを強制的に分離するには、()を使用します。
(set /p firstline=<text.txt) >nul 2>nul
別の構文を使用して、すべてを1つの出力にリダイレクトすることも検討できます。
(set /p firstline=<foo2.txt) >nul 2>&1
そのようです (Win7 でテスト済み)。バグのような機能のようです。2>nul
:-) バッチ ファイルが十分に単純な場合は、 (つまり、 )を使用してバッチ ファイルを呼び出すことで、これを回避できますfoo.cmd 2>nul
。
または、その行だけを独自のバッチ ファイル (たとえば、setfirstline.cmd
) に入れcall setfirstline.cmd 2>nul
て、「親」バッチ ファイルから使用することもできます。ハッキーですが、機能的です。