[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

rename【コマンド】

pointこの用語のポイント

pointWindowsとUNIX系で使えるコマンドだよ

pointファイル名を変更するよ

スポンサーリンク

簡単に書くよ

rename【コマンド】とは

ファイル名を変更するときに使うコマンド
です。

image piyo

詳しく書くよ

UNIX系(LinuxとかMacとか)及びWindows系で使えます。
ただしUNIX系とWindows系ではコマンドの使い方が結構違うので、順番に説明していきますね。

まずはUNIX系OSにおける「rename」コマンドについて説明します。

UNIX系OSにおける「rename」コマンドの書き方は、

rename [変更前の文字列] [変更後の文字列] [対象のファイル名]

です。

オプションはありません。

ちょっと癖があるので、実例を挙げて説明しますね。
例えば

rename .csv .txt *.csv

と書いた場合、すべてのCSVファイル拡張子.csv」が「.txt」に変わります。
「*.csv」が対象のファイルです。
「*(アスタリスク)」は正規表現で「任意の0文字以上」を表す指定ね。
「*.csv」は「なんか適当な名前.csv」だとお考えください。
「.csv」は変更前の文字列です。ファイル名にある「.csv」の部分が変更対象となります。
「.txt」は変更後の文字列です。変更対象の文字列が「.txt」に書き換わります。
つまり

rename .csv .txt *.csv

は「『適当な名前.csv』の『.csv』の部分を『.txt』に書き換えてよ」な命令です。
よって、すべてのCSVファイルの拡張子「.csv」が「.txt」に変わります。

これは一括でファイル名を変更したい場合には便利ですね。
その一方で単純に一つのファイルのファイル名を変更したいときは面倒です。
例えば「hoge.txt」のファイル名を「hoge2.txt」に変更したい場合は

rename hoge.txt hoge2.txt hoge.txt

と書く必要があります。
「『hoge.txt』の『hoge.txt』の部分を『hoge2.txt』に書き換えてよ」な命令をしないといけないのです。
そのため、単純にファイル名を変更したい場合は「rename」コマンドではなく「mv」コマンドを使うのが一般的です。

あっ、そうそう。
大事な注意点がありました。
変更前の文字列から変更後の文字列に変更してくれるのは、一つのファイル名に対して最初の一か所だけです。
例えば

rename hoge A hogehogehoge.txt

を実行すると「hogehogehoge.txt」は「AAA.txt」ではなく「Ahogehoge.txt」になりますのでご注意ください。

このようにちょっと癖があるけど一括で複数ファイルの名前を変更できるコマンドが、UNIX系OSにおける「rename」コマンドです。

次はWindows系OSにおける「rename」コマンドについて説明します。

Windows系OSの「rename」コマンドはふつーにファイル名を変更してくれるコマンドです。

書き方は、

rename [変更前のファイル名] [変更後のファイル名]

です。

オプションはありません。

[変更前のファイル名]にはパスを指定できますが、[変更後のファイル名]にはパスを指定できないのでご注意ください。
例えば

rename C:\hoge.txt hoge2.txt

はできますが、

rename hoge.txt C:\hoge2.txt

はできません。

あとはそうですね。
複数のファイルの名前を一括で変更することもできます。
例えば

rename *.csv *.txt

と指定すると、すべてのCSVファイルの拡張子「.csv」が「.txt」に変わります。

このように普通にファイル名を変更するコマンドだけどちょっと凝った使い方もできるのが、Windows系OSにおける「rename」コマンドです。

image piyo2

一言でまとめるよ

まぁ「rename」ってコマンドが出てきたら「ファイル名を変更するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク