コマンド別解説

sort(ファイル内文字列、ファイル・フォルダ名を並べ替える)

>>sortのオプション簡易解説へ

目次

 

「sort」コマンドの使い方と逆順へ並び替え

「sort」はファイルの中身やファイル・フォルダ名を並び変えるコマンドです。

 

ファイルの内容を並び変える

「sort」コマンドを使ってファイル内の文字列を並び替えるには、「sort」コマンドの引数として並び替えの対象ファイルを指定します。

 

例として、以下のファイル(Europe.txt)の内容を並び替えます。

【Europe.txt】
sort(ファイル・フォルダ名を並べ替える) ヨーロッパの国名

以下のコマンドをコマンドプロンプトへ入力します。

 

以下、実行結果です。

sort(ファイル・フォルダ名を並べ替える) ヨーロッパの国名(並び替え後)

アルファベット順に並び替えられていることが確認できます。

 

ファイル名やフォルダ名を並び替える

「sort」コマンドは現在いるフォルダ内に存在するファイルやフォルダを並び替えて表示することなどもできます。

フォルダ内のファイル・フォルダを対象に並び替えを行うには、パイプ処理「|」で他のコマンドから並び替えの対象を引き渡す必要があります。以下のような形です。

パイプ処理については、「パイプについて -コラム-」が詳しいのでご参照下さい。

 

例えば、「dir /b」はファイル名の一覧を取得するコマンドですが、これをtxtファイルを対象に実行したとき、すなわち以下のコマンドを実行したとき、

以下のファイル一覧を取得できるとします。

ファイル・フォルダ名を並べ替える txtファイルのファイル名一覧を表示

現在のフォルダにはこれら5つのファイルが存在しているということです。

 

これを、「sort」コマンドに渡して表示するには、パイプ処理「|」を使って、

と書きます。以下実行結果です。

ファイル・フォルダ名を並べ替える パイプ処理で「sort」コマンドに引き渡して表示する

今の場合、得られる結果は「sort」コマンドを使わなくても同じですが、一度「sort」コマンドに引き渡されているため、表示のプロセスは異なっています。次節から表示順を変化させる方法について述べていきます。

 

逆順に並べる

前節で行った「sort」コマンドによる表示は、

ファイル・フォルダ名を並べ替える パイプ処理で「sort」コマンドに引き渡して表示する

のように、ファイル名の先頭に付いている数字の小さい方から昇順に並んでいます。

これを数字の大きい方からに並びかえるには、「sort」コマンドに「/r」オプションを指定します。

ファイル・フォルダ名を並べ替える 数字の大きいほうから並べる

このように、「/r」コマンドはファイル名を逆順に並べるオプションです。

ここでは、数字について例を出しましたが、アルファベット順で昇順であれば、「a」から始まり「z」で終わる順番で並びます。「/r」オプションを指定すると逆順です。

 

並び替えのための判定文字を後ろにずらす

並び替えのために判定する文字は通常、ファイル名の先頭に近い位置から優先されます。前節の例では、以下の五つのファイル、

01_file_e.txt
02_file_d.txt
03_file_c.txt
04_file_b.txt
05_file_a.txt

を対象に行われましたが、全てのファイルの先頭の文字は「0」と等しいため、2文字目の「1~5」が判定文字となりました。

これをファイル名の最後の文字(9文字目)である「e~a(拡張子(.txt)の直前の文字)」で判定するようにします。このためには、「/+[数字]」オプションを指定します。[数字]には、判定を始める文字数を指定しそれ以降の文字で判定し並べ替えます。

今の場合は、9文字目で判断したいので、コマンドは、

となり、実行結果は、

ファイル・フォルダ名を並べ替える 並び替えのための判定文字を後ろにずらす

となります。9文字目が「a~e」のアルファベット順で並んでいることが分かります。

 

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


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


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

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


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


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


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


詳しくみる

関連ページ

コメントを残す