Batch-script-input-output
バッチスクリプト-入力/出力
キーボード入力、画面上のテキストの印刷、画面上のエラーの印刷用に、3つの汎用「ファイル」があります。 stdin として知られる「標準入力」ファイルには、プログラム/スクリプトへの入力が含まれています。 stdout として知られる「標準出力」ファイルは、画面に表示する出力を書き込むために使用されます。 最後に、 stderr として知られる「Standard Err」ファイルには、画面に表示するエラーメッセージが含まれています。
これら3つの標準ファイル(標準ストリームとも呼ばれる)はそれぞれ、0、1、および2の番号を使用して参照されます。 Stdinはファイル0、stdoutはファイル1、stderrはファイル2です。
出力のリダイレクト(StdoutおよびStderr)
バッチファイルの一般的な方法の1つは、プログラムの出力をログファイルに送信することです。 >演算子は、stdoutまたはstderrを別のファイルに送信またはリダイレクトします。 次の例は、これを行う方法を示しています。
Dir C:\ > list.txt
上記の例では、コマンドDir C:\の stdout がファイルlist.txtにリダイレクトされます。
リダイレクトフィルターに数字の2を追加すると、 stderr がfiles.txtファイルにリダイレクトされます。
Dir C:\ 2> list.txt
ファイル番号と「&」プレフィックスを使用して、 stdout および stderr ストリームを結合することもできます。 以下はその一例です。
DIR C:\ > lists.txt 2>&1
プログラム出力の抑制
擬似ファイルNULは、プログラムからの出力を破棄するために使用されます。 次の例は、コマンドDIRの出力が出力をNULに送信することによって破棄されることを示しています。
Dir C:\ > NUL
Stdin
Stdinを使用するには、回避策を使用してこれを達成する必要があります。 これは、CONと呼ばれるコマンドプロンプトの独自のstdinをリダイレクトすることで実行できます。
次の例は、lists.txtというファイルに出力をリダイレクトする方法を示しています。 以下のコマンドを実行すると、コマンドプロンプトは、EOF文字を取得するまでユーザーが入力したすべての入力を受け取ります。 後で、すべての入力をファイルlists.txtに送信します。
TYPE CON > lists.txt