写真整理してる。
ファイル名に撮影日を入れようと思ったら、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/...
ファイル名に撮影日を入れようと思ったら、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/...