✅ Microsoft ドキュメント コマンド リダイレクト演算子を使用する ⭐ 単純な リダイレクト は > です。 コマンドプロンプトに表示されるはずの文字列をファイルに書き込みます。 ⭐ >> を使うと追加書き込みです。 このような記号は、リダイレクト演算子と呼ばれます。
STDIN | 0 | キーボード入力 |
STDOUT | 1 | 標準出力 |
標準エラー出力 | 2 | Error output to the Command Prompt window |
0、1、2 は ハンドル番号で、既存のハンドルへのリダイレクトを指定するには、アンパサンド(&)文字の後にリダイレクトしたいハンドル番号を使用します。 なので、2>&1 は 標準エラー出力を標準出力にリダイレクトする事を意味します。 ▼ 解りやすいテストはエラーだけに着目して、以下のように実行します。C:\temp>dir x ドライブ C のボリューム ラベルは Windows10 です ボリューム シリアル番号は 40B9-7D17 です C:\temp のディレクトリ ファイルが見つかりません( x が存在しないので『ファイルが見つかりません』と言うエラーメッセージが出ます ) この『ファイルが見つかりません』は、dir x > message.txt としても message.txt には書き込まれまれずに、コマンドプロンプトに表示されます。 しかし、以下のようにすれば全て書き込む事ができます。dir x > message.txt 2>&1この方法は解りにくいですが、標準出力と標準エラー出力を同時にリダイレクトしたいときに意味があります。dir x 2> message.txtだと、ファイルが見つかりません だけが書き込まれてしまいます。 キーボード入力をファイル化 リダイレクト演算子を使用して、キーボードから入力した文字列をテキストファイルに書き込む事ができます。type con > message.txttype コマンドは、ファイルの内容をコマンドプロンプトに表示するコマンドですが、con と言う特殊な予約文字列を使用すると、キーボードをファイルとみなした動作を行います。 ※ 終了時は 改行入力後、CTRL+Z を入力してEnter です 空のファイルを作成する nul と言う予約文字列を使用して以下のように実行しますtype nul > message.txt実行結果を表示しない nul は存在しないファイルのようなものなので、標準結果への出力を無かった事にできますdir *.* > nulエクスプローラで作成できないファイルを作成する .(ドット) で始まるファイルはエクスプローラで作成できませんが、以下のようにすれば作成する事ができますtype nul > .htaccess