2016-08-20 5 views
1

This stackoverflow answer次のコードを含む:2> nulの目的はこのスタックオーバーフローの答えですか?

dir /a-d "C:\PLUS\ADMIN\BATCH\*" >nul 2>nul && (
    start "" cmd /c "@echo Files in the directory! &@echo(&@pause 
) || ( 
    echo there are no files 
) 

>nulnulstdoutをリダイレクトすることです。 2>nulはどのような目的を果たしており、どのような状況で必要ですか?

+0

これは私がここにコメントを投稿しているので尋ねられませんでした。新しいコマンドインターペアを開始するcmd/cを実行して、2番目のコンソールウィンドウを開きます。 Windowsの場合は、コンソールウィンドウを開いて、起動に関する詳細情報を入力して、cmdの情報についてcmdを助けてください。 – rcgldr

+1

@RockPaperLizard参照してください[コマンドリダイレクション演算子を使用する]に関するMicrosoftの記事(https://technet.microsoft.com/en-us/library/bb490982.aspx) – Mofi

+0

@Mofi Much高く評価されました。素晴らしい記事。BTW、その記事は* Windows XP *用のコマンドラインリファレンス:MSにはWindows 7用の同様のコマンドラインリファレンスがありますか? – RockPaperLizard

答えて

3

Windowsコンソールプログラムの場合、2>は標準エラーです。実行されているプログラムがstderrにテキストを出力することが必要な場合に必要です。

+2

@RockPaperLizard 'stderr'は*別のストリームです。 cmdプロンプトで 'dir nosuchfile.whatever> nul'を実行すると、' stderr'の出力 "* file not found *"が表示されます。 – dxiv

+1

@dxiv素晴らしい例。ありがとうございました。 – RockPaperLizard

+0

@RockPaperLizard:コマンドプロンプトで 'dir/B * .txt 2> Error.msg&findstr/N/A:4E"^"* .msg'を実行し、' * .txt'を次のように変更します。既存の拡張子... ** ';-)' ** – Aacini

関連する問題