0

バッチ ファイルは、「指定されたファイルが見つかりません」と出力します。エラーをリダイレクトする代わりにnul

set /p firstline=<text.txt >nul 2>nul
pause

エラーメッセージを抑制するにはどうすればよいですか

4

2 に答える 2

1

このコードでは、リダイレクトは無視されます。理由はわかりませんが、リダイレクトメカニズム自体でエラーが発生するため、後のredirは実行されないのではないかと思います。

エラーが予想される場所でリダイレクトを強制的に分離するには、()を使用します。

(set /p firstline=<text.txt) >nul 2>nul

別の構文を使用して、すべてを1つの出力にリダイレクトすることも検討できます。

(set /p firstline=<foo2.txt) >nul 2>&1
于 2012-08-06T20:53:47.383 に答える
0

そのようです (Win7 でテスト済み)。バグのような機能のようです。2>nul:-) バッチ ファイルが十分に単純な場合は、 (つまり、 )を使用してバッチ ファイルを呼び出すことで、これを回避できますfoo.cmd 2>nul

または、その行だけを独自のバッチ ファイル (たとえば、setfirstline.cmd) に入れcall setfirstline.cmd 2>nulて、「親」バッチ ファイルから使用することもできます。ハッキーですが、機能的です。

于 2012-08-06T20:10:39.723 に答える