Batch-script-input-output

提供:Dev Guides
移動先:案内検索

バッチスクリプト-入力/出力

キーボード入力、画面上のテキストの印刷、画面上のエラーの印刷用に、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