この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@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 バイトの空き領域
moveコマンドでファイル名が変更出来ました。
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文を使ってループ実行させます。
test001からtest003までのテストファイルを用意し、一括でファイル名変更してみます。
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
Windowsで大量のファイル名を変更する際には「move」や「ren」をfor文と組み合わせると便利です。
以上、あいしんくいっとでした。