我需要重命名目錄中的所有圖像文件,並將它們命名為它們所在的資料夾

我需要重命名目錄中的所有圖像文件,並將它們命名為它們所在的資料夾

我需要重命名目錄中的所有圖像文件,並將它們命名為它們所在的文件夾的名稱...這可以使用 Bash 腳本嗎?

我還需要對它們連續編號(0001.jpg、0002.jpg、0003.jpg 等)。我遇到的問題是數字之間有一些跳躍..(0018.jpg、0019.jpg、0025.jpg、0026.jpg 等...)我想將 0025.jpg 重新命名為0020.jpg,0026 .jpg 為0021.jpg 等...

答案1

是的,這是可能的。您可以使用find /search/path -type d查找所有目錄並使用 -exec 選項來執行一些以目錄路徑作為參數的操作。你可以有運行的 bash 腳本NUM=0; for file in /path/to/folder/*.jpg; do mv file NUM.jpg; let "NUM=NUM+1"; done;或類似的東西

答案2

要使用此命令,您必須位於 .jpg 檔案所在的目錄中,或者您必須稍微自訂該命令。

 let a=0; for i in *.jpg; do let a=a+1; b=`basename $PWD`; c=`printf %04d$b.jpg $a`; mv $i $c; done

輸出將如下所示:

0001<dirname>.jpg

相關內容