バッチの名前変更ファイル

バッチの名前変更ファイル

名前の形式が一致しない写真ファイルが複数あります。

  • ノースビーチ.JPG
  • サウスビーチ sm.jpg
  • ブライスウィンドサーフィン.jpg
  • DSC01031 1024x.jpg
  • DSC02652 sm.jpg 編集
  • DSC03229 sm.jpg
  • 子供のためのカヤック2.jpg
  • マウイ 5-05(31)1024.jpg
  • マウイ秋05(41) sm.jpg
  • マウイクジラ(2) sm.jpg
  • マウイクジラ(6) ed.jpg
  • P1000018 sm.jpg
  • P1000030 sm.jpg
  • P1000056 sm.jpg
  • P1000148 sm.jpg
  • P1000397 sm.jpg
  • P1000490 sm.jpg
  • P1000629 sm.jpg
  • P1000995 sm.jpg
  • P1010006 1024.jpg
  • P1010089 1024x.jpg
  • P1050988edsm.jpg

拡張子の名前を変更する代わりに、リストの最初の.jpg名を1.jpg、2番目の2.jpg、3番目の3.jpgなどに変更します。 1つのコマンドでこれをどのように実行できますか?

ベストアンサー1

シェルでループを使用します。

for x in * ; do mv -- "$x" "$((i=i+1)).jpg" ; done

現在のディレクトリにある各ファイルを一度に1つずつ見て、呼び出してから、毎回1ずつインクリメントしながらそのx場所に移動します。$i.jpgはい$i$((...))算術拡張、割り当ては割り当てられた値を返すため、i毎回新しい数値が変更されて返されます。

たとえば、別のディレクトリでこれを複数回実行するには、その間にカウンタをリセットする必要があります。と言うか、コマンドの先頭i=0に入力します。i=0;

おすすめ記事