写真整理してる。
ファイル名に撮影日を入れようと思ったら、NIKONのツールがバグって?おかしな日付がファイル名に入って・・・

久しぶりに、コマンドでファイル名を変更。

renameコマンドで、ファイル名変えれるけど、変更前と、変更後の文字列の数が異なると、うまいこといかないみたいで。

DSC_0012.jpg を AAA_0012.jpgに変更する場合だと、
rename
"DSC_0012.jpg" "AAA_0012.jpg"
でいいんだけど。

今回は、先頭に日付をいれたのを消したいから、文字列の数が異なる。

DSC_0012.jpg
DSC_0013.jpg  が

16010101_0900_DSC_0012.jpg
16010101_0900_DSC_0013.jpg ってなったので、
"
16010101_0900_"を削除。

@echo off
c:
cd "\Users\pico\Pictures\20140211"
<=jpgファイルのディレクトリに移動
for %%1 in (*) do (
         <=全てのファイル名を順に%1に格納
set FILE_NAME=%%1        <=
%1を FILE_NAMEにセット
cmd /c rename %%1 %%FILE_NAME:~-12%% <=
後ろから12文字を取得
)                         (12文字を残し、前の文字削除)
::
cmd /k dir | more <=コマンドプロンプトを閉じないでファイル名表示


メモ帳にコピペして aaa.batとかにして、バッチファイル実行。


ファイル名の後ろの文字を追加、削除する場合は、renameコマンドだけでうまくいく。
・Windowsでファイル名一括変更2(削除、追加)
http://blog.dacelo.info/windows/entry-218.html


変数の記述方法は以下を参考にした。
・Programming Field %(パーセント)
http://pf-j.sakura.ne.jp/program/dos/doscmd/...