[問題] 批次將JPG改成jpg問題

看板Linux作者 (milua)時間13年前 (2011/03/13 19:48), 編輯推噓3(309)
留言12則, 6人參與, 最新討論串1/6 (看更多)
安安,關於這個問題我上網找過 有找到方法如下: for file in *.JPG;do mv $file ${file%.*}.jpg;done 但這個方式只能將單一目錄下的檔案掃過 所以我轉為找find的方法希望可以做到子目錄都可以批次更改 按照網路上的教學 寫出來應該如下: find . -name "*.JPG" -exec mv $file ${file%.*}.jpg \; 不過一直沒辦法成功 會跳出 ============================================================ BusyBox v1.16.1 (2011-02-25 19:06:21 CST) multi-call binary. Usage: mv [OPTIONS] SOURCE DEST or: mv [OPTIONS] SOURCE... DIRECTORY Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY Options: -f Don't prompt before overwriting -i Interactive, prompt before overwrite ============================================================= 但我把-f 跟 -i都加在 mv後面試過 還是沒有辦法成功 所以上來po文 可否麻煩大大們指點迷津 希望不要寫成shell 直接一行解決的方法 不知道這樣找的方向對不對 先謝謝了:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.194.76

03/13 20:08, , 1F
find . -name '*.JPG' -exec rename JPG jpg {} \;
03/13 20:08, 1F

03/13 20:45, , 2F
抱歉 這個linux是nas原生的 所以沒有rename的函式@@
03/13 20:45, 2F

03/13 20:46, , 3F
只能用mv的狀況下可以解決嗎?
03/13 20:46, 3F

03/13 21:23, , 4F
將原式改成 for file in $(ls *.jpg) do ..應該可以喔!^^
03/13 21:23, 4F

03/13 21:29, , 5F
試過了 不行QQ 還是謝謝樓上
03/13 21:29, 5F

03/13 21:54, , 6F
rename JPG jpg *
03/13 21:54, 6F

03/13 22:08, , 7F
謝謝樓上 不過我沒有rename指令 bin是busybox 1.6所建的@@
03/13 22:08, 7F

03/13 23:31, , 8F
你的問題在於busybox不接受指定格式,你先echo看看正確否
03/13 23:31, 8F

03/13 23:31, , 9F
指令不正確busybox就會吐上面那個訊息
03/13 23:31, 9F

03/13 23:58, , 10F
for既然能轉當前目錄,你可以把他變成你要的目錄
03/13 23:58, 10F

03/14 01:19, , 11F
echo指令明天來試試看@@
03/14 01:19, 11F

03/14 01:20, , 12F
for能轉單一目錄 不過想要recursive就是弄不出來:(
03/14 01:20, 12F
文章代碼(AID): #1DVAxm9Y (Linux)
文章代碼(AID): #1DVAxm9Y (Linux)