Windowsでファイル名一括変更2(削除、追加)

In: Windows

1 10月 2008

前回、コマンドプロンプトでファイル名を一括変更するTipsを紹介した。
システム修行ブログ» ブログアーカイブ » Windowsでファイル名一括変更

これは、%iを変数に取り、forでループ処理して、ファイルの前に文字を追加するコマンドだった。

逆に、文字を一括して削除したいとき、もしくはファイルの「後に」文字を追加したい場合がある。そんなとき、ファイル名の文字数が同じだったら、こういう方法もある。


001.jpg
002.jpg
003.jpg

「“image”を後ろに付けたい場合」

rename ???.jpg ???image.jpg

?は、文字一つ分を表すリテラル。これでファイル名が次のようになる。

001image.jpg
002image.jpg
003image.jpg

「やっぱり“image”を後ろに削除したい場合」

rename ???image.jpg ???.jpg

ひっくり返して実行すればOK。

ファイルの前に付けたい場合に、単純に image???.jpg としてもうまくいかない。
この理由はしばらく不明だったが、いくつか検証してみて分かった。

例えば、
FL010001.jpg
というようなファイル名で

rename ????????.jpg 08-09-????????.jpg

とした場合、08-09-FL010001.jpgではなく、08-09-01.jpgとなってしまう。
これは、この文字列挿入が「上書き追加」(viで言うとa)なため、ファイル名の最後尾なら「追加」になるが、ファイル名の最初だと上書きになってしまう。そのためファイル名の長さによっては、保存できずにエラーになる。

広告

コメント

Comment Form

About this blog

ここは、SE見習いである私ことdaceloが、日夜習得していくシステム関連の備忘録、phpやWordPressTipsのネタ、あるいはSEOやWebマーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。

カテゴリー

カテゴリー

アーカイブ