標準出力の出力先をファイルへ変更する

コマンドプロンプトでコマンドを実行し何らかの出力が行われる場合は標準出力に対して行われます。デフォルトでは標準出力の出力先は画面に設定されているので、画面に対して出力が行われますが、リダイレクトを使って標準出力の出力先をファイルへ変更することができます。ここではコマンドプロンプトの標準出力の出力先をファイルへ変更する方法を解説します。

(Last modified: )

コマンドの実行結果をファイルへ出力する

コマンドを実行したときに、何らかの結果が出力される場合、デフォルトでは画面に対して表示されます。例えば「DIR」コマンドを実行すると、カレントディレクトリに含まれるファイルとディレクトリの一覧が画面に表示されます。

標準出力向けに出力された内容をファイルへ出力する(1)

コマンドプロンプトではコマンドの実行結果を標準出力と呼ばれる先に出力するように設定されています。標準出力はデフォルトで画面に設定されているため何かコマンドを実行すると画面に表示されることになります。

コマンドを実行した結果をファイルに保存したい場合があります。例えば出力されたファイルの一覧が非常に多い場合、画面上で確認するのは大変なので一度ファイルに出力しておくといつでも見ることができます。このような時にリダイレクトを使うと便利です。リダイレクトは標準出力の出力先を画面からファイルなど任意のデバイスへ変更することができます。

リダイレクトを使って標準出力の出力先をファイルへ変更する書式は次の通りです。

コマンド 1> ファイル名

「1>」の左側が標準出力に対して出力したものを、「1>」の右側のデバイスに対して出力するように指定しています。なお「1」は標準出力である STDOUT ハンドルを表しており、省略した場合は「1」が指定されたものと見なされますので単に次のように記述することができます。

コマンド > ファイル名

出力先としてファイル名を指定した場合、指定したファイルが存在しない場合はファイルを新規に作成した上で出力を行います。既にファイルが存在した場合には新しい内容で上書きします(元々ファイルに含まれていた内容は無くなりますので注意して下さい)。

例えば「DIR」コマンドの結果を画面ではなく result.txt というファイルに書き込むには次のように入力します。

dir > result.txt

なお標準出力への出力先がファイルへと変更されていますので、画面にはコマンドの実行結果は表示されません。

-- --

では実際に試してみます。まずは「DIR」コマンドをそのまま実行してみます。

dir

コマンドの実行結果をファイルへ出力する(2)

実行結果は画面に出力されました。次にリダイレクトを使ってコマンドの実行結果をファイルへ出力してみます。

dir > result.txt

コマンドの実行結果をファイルへ出力する(3)

実行結果は result.txt ファイルへ出力されました。このファイルは存在していませんでしたので新規にファイルが作成された上で実行結果が書き込まれています。なお実行結果は画面には何も出力されていません。

では result.txt ファイルをテキストエディタで開いてみます。

コマンドの実行結果をファイルへ出力する(4)

DIR コマンドの実行結果がファイルに出力されていることが確認できました。

ではもう試してみます。今度は ECHO コマンドとリダイレクトを使って指定した簡単なテキストが書き込まれたファイルを作成してみます。コマンドプロンプト方次のように実行してみてください。

echo Hello > message.txt

コマンドの実行結果をファイルへ出力する(5)

ECHO コマンドは引数に指定した文字列を画面に出力するためのコマンドですが、リダイレクトを使うことで引数に指定した文字列が含まれるテキストファイルを1つ簡単に作成することができます。

では message.txt ファイルをテキストエディタで開いてみます。

コマンドの実行結果をファイルへ出力する(6)

引数で指定した文字列を含むファイルが作成されていることが確認できました。

-- --

リダイレクトを使って標準出力の出力先をファイルへ変更する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。