クリスマス目前!商品レビューまとめ記事

【Windows】DOSコマンドでファイル名を一括変更!ツール不要!

どーも。あいしんくいっと(@ithinkitnet)です。

仕事柄、Windowsで作業した証跡を取るために画面キャプチャをたくさん取るのですが、取得したファイル名がたまに間違っていたりして後で修正したりする事が良くあります。

一つや二つならまだしも何十、何百というファイル名を手動で修正するのは並大抵の事ではありません。
適当な一括リネームツールをインストールする、といった手段も考えられますが、現場によっては一切のツール類はインストール禁止といったところもあるので、DOSコマンドを覚えておくと便利になると思います。

moveとren

Windowsでファイル名を変更するために使うDOSコマンドとして「move」と「ren」が用意されています。
ちなみにLinuxでは「move」でなはく、「mv」を使ってファイル名を変更する事が出来ますので、どちらかと言えばLinuxが得意な私は良く打ち間違えますw

ファイルパスを確認

まずは下記のコマンドでファイルパスを確認します。
今回はテストとしてc:work以下にテストファイルを3つ用意しました。

c:work>dir /s /b c:work
c:worktest001
c:worktest002
c:worktest003

move

moveの場合、ファイルのフルパスに対してフルパスで記述します。


c:work>move c:worktest001 c:worktest001_rename
1 個のファイルを移動しました。

c:work>move c:worktest002 c:worktest002_rename
1 個のファイルを移動しました。

c:work>move c:worktest003 c:worktest003_rename
1 個のファイルを移動しました。

c:work>dir
ドライブ C のボリューム ラベルは Windows7_OS です
ボリューム シリアル番号は 1187-2800 です

c:work のディレクトリ

2015/03/31 23:23.
2015/03/31 23:23..
2015/03/31 23:11 0 test001_rename
2015/03/31 23:11 0 test002_rename
2015/03/31 23:11 0 test003_rename
3 個のファイル 0 バイト
2 個のディレクトリ 41,815,855,104 バイトの空き領域

と、こんな感じでファイル名が変更されます。

ren

次は「ren」を使ってファイル名を変更したいと思います。


c:work>ren c:worktest001_rename test001

c:work>ren c:worktest002_rename test002

c:work>ren c:worktest003_rename test003

c:work>dir
ドライブ C のボリューム ラベルは Windows7_OS です
ボリューム シリアル番号は 1187-2800 です

c:work のディレクトリ

2015/03/31 23:28  .
2015/03/31 23:28  ..
2015/03/31 23:11 0 test001
2015/03/31 23:11 0 test002
2015/03/31 23:11 0 test003
3 個のファイル 0 バイト
2 個のディレクトリ 41,815,494,656 バイトの空き領域

ファイル名をフルパスで指定した「move」とは打って変わって「ren」では相対パスで指定します。

コマンドを生成

「move」と「ren」を試しましたが、どちらも簡単にコマンド生成出来ないと意味がありません。
ですのでfor分と使ってループ実行させます。


c:work>dir
ドライブ C のボリューム ラベルは Windows7_OS です
ボリューム シリアル番号は 1187-2800 です

c:work のディレクトリ

2015/03/31 23:40  .
2015/03/31 23:40  ..
2015/03/31 23:11 0 test001
2015/03/31 23:11 0 test002
2015/03/31 23:11 0 test003
3 個のファイル 0 バイト
2 個のディレクトリ 41,814,724,608 バイトの空き領域

c:work>for %i in (test*) do move c:work%i c:work%i_rename

c:work>move c:worktest001 c:worktest001_rename
1 個のファイルを移動しました。

c:work>move c:worktest002 c:worktest002_rename
1 個のファイルを移動しました。

c:work>move c:worktest003 c:worktest003_rename
1 個のファイルを移動しました。

c:work>dir
ドライブ C のボリューム ラベルは Windows7_OS です
ボリューム シリアル番号は 1187-2800 です

c:work のディレクトリ

2015/03/31 23:40  .
2015/03/31 23:40  ..
2015/03/31 23:11 0 test001_rename
2015/03/31 23:11 0 test002_rename
2015/03/31 23:11 0 test003_rename
3 個のファイル 0 バイト
2 個のディレクトリ 41,814,724,608 バイトの空き領域

c:work>

なお、いきなりfor分を使って間違った処理をしてしまうと何かと厄介な事になり兼ねないので、あらかじめ「echo」といったコマンドを使って実行されるコマンドを確認しておくと良いと思います。


c:work>for %i in (test*) do echo move c:work%i c:work%i_rename

c:work>echo move c:worktest001_rename c:worktest001_rename_rename
move c:worktest001_rename c:worktest001_rename_rename

c:work>echo move c:worktest002_rename c:worktest002_rename_rename
move c:worktest002_rename c:worktest002_rename_rename

c:work>echo move c:worktest003_rename c:worktest003_rename_rename
move c:worktest003_rename c:worktest003_rename_rename

如何だったでしょうか。
大量のファイル名を変更する際には「move」や「ren」をぜひ使ってみて下さい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)