コラム

「>」と「>>」の違い

 

目次

 

「>」と「>>」はどちらもファイル出力使うコマンド

バッチファイルにおいて、「>」と「>>」はどちらもファイル出力に使用するコマンドです。

使い方はどちらも同様で、バッチコマンドによって出力される文字列を指定したファイルに送ります。以下のような形です。

同様の使い方をする2つのコマンドですが、その機能は異なり、「>」はファイルの上書き「>>」はファイルに追記になります。その違いを以下で詳しく見ていきます。

 

「>」はファイルを上書き

まずは、「>」からです。「>」はファイルを上書きするコマンドです。

例として、以下のバッチコマンドをコマンドプロンプト上で実行してみましょう。

実行後、「file.txt」ファイルができているはずです。ファイル内を確認してみると、以下のようになっています。

「>」と「>>」の違い 「>」を使って「file.txt」に書き込み

ファイルに「このメッセージをファイルに書き込む」と出力されました。

 

では続けて、もう一度同じコマンドを実行してみましょう。出力する文字を少し変えます。

実行後、再びファイル内を確認します。

「>」と「>>」の違い 「>」を使って「file.txt」に書き込み(2回目)

ファイルに「このメッセージは2回目です」と出力されました。

ファイルが上書きされ、一回目で出力した内容「このメッセージをファイルに書き込む」は残っていません。このように、「>」は文字列を出力する際、前のメッセージを削除して上書きします。

最後に「file.txt」ファイルは削除して次節へ進んで下さい。

 

「>>」はファイルに追記

次は、「>>」です。「>>」はファイルに追記するコマンドです。

「>」の時と同様にコマンドを実行します。ただし、「>」を「>>」に変えました。

「file.txt」ファイルの中身を確認すると以下のようになります。

「>」と「>>」の違い 「>」を使って「file.txt」に書き込み

「>」の時とまったく同じです。

 

では、2回目の出力です。「>>」を使っています。

 

結果は以下のようになりました。

「>」と「>>」の違い 「>>」を使って「file.txt」に書き込み(2回目)

前の出力が消えていません。

つまり、「>>」は前の文字の下に追記する機能を持っているということです。一方、「>」は一からファイルを作りなおすコマンドであると覚えていきましょう。

「>>」を使うと前の文字が消えないので、書き出すファイルと同名のファイルがあればそれを削除してから「>>」を使用するケースがよくあります。ファイルがあればそのファイルを消すという動作をするバッチコマンドに関しては、「ファイルの存在有無で判断する@if(条件分岐) -コマンド別解説-」が詳しいですので参考にして下さい。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメント

  1. いまっち より:

    ファイルに文字列を追加書き出す際、下記のようにしますと、「> の使い方が誤っています」とエラーメッセージが出ることがあります。one_lineに、 という文字列が入っている場合です。

    %one_line%>> memo.txt

    スペースが入らないように”>>”を記述していたのですが、”>>>”のように認識されているようです。
    この問題に気づくのに、結構時間がかかりました。まだ解決していませんが・・・

コメントを残す