我有幾個目錄和子目錄包含文件沒有文件擴展名。我想將.jpg
添加到這些目錄中包含的所有文件。我見過用於更改文件擴展名的bash腳本,但不是僅僅添加文件擴展名。它也需要遞歸,有人可以幫忙嗎?遞歸添加文件擴展名到所有文件
80
A
回答
176
4
這樣,
for f in $(find . -type f); do mv $f ${f}.jpg; done
我不希望你有空間分隔的文件名,
如果你這樣做,該名稱將需要處理一下。
如果你想從其他目錄下執行命令,
可以更換find .
與find /target/directory
。沒有明確的循環
49
這將查找沒有擴展名,並添加您的.jpg
find /path -type f -not -name "*.*" -exec mv "{}" "{}".jpg \;
0
rename
不知道,它可以在不擴展重命名文件(我是在Windows 7現在)
9
這有點晚了,但我想我會補充說,一個更好的解決方案(儘管可能不太可讀)比迄今爲止的可能是:
find /path -type f -not -name "*.*" -print0 | xargs -0 rename 's/(.)$/$1.jpg/'
使用find | xargs
模式通常會導致更高效的執行,因爲您不必爲每個文件分叉一個新進程。
請注意,這需要Debian風格的發行版(aka prename)中找到的重命名版本,而不是傳統的重命名。不過,這只是一個小小的perl腳本,因此在任何系統上使用上面的命令都會很容易。
0
重命名的所有文件在Windows基本沒有擴展,你可以做ren * *.jpg
由於文件沒有擴展名,只需要用*,或者如果你想改變PNG爲JPG 使用ren *.png *.jpg
相關問題
- 1. Git - 遞歸刪除文件擴展名
- 2. 遞歸文件擴展
- 3. Multer沒有添加文件擴展名
- 4. 將擴展名添加到文件
- 5. 遞歸地擴展到當前目錄中的所有文件?
- 6. .gitignore將文件夾中的所有文件遞歸添加到白名單中?
- 7. 遞歸搜索文件中的文件擴展名
- 8. 用bash添加文件擴展名到文件
- 9. 將R中的文件擴展名添加到多個文件
- 10. 遞歸地顯示具有特定擴展名的所有文件
- 11. 遞歸刪除具有精確擴展名的隱藏文件
- 12. 遞歸地查找具有特定擴展名的文件
- 13. 遞歸刪除具有特定擴展名的文件夾
- 14. 具有特定擴展名的文件的遞歸搜索
- 15. 遞歸查找具有特定擴展名的文件
- 16. 從grep count添加文件擴展名
- 17. 通過htaccess添加文件擴展名
- 18. Java JFileChooser getAbsoluteFile添加文件擴展名
- 19. DownloadManager不添加文件擴展名
- 20. 批量添加文件擴展名
- 21. 匹配所有的文件擴展名
- 22. 在PHP中命名沒有擴展名的文件,如何將擴展名添加到文件中?
- 23. 批處理遞歸移動擴展名到該擴展名文件夾的文件
- 24. 未找到Javascript文件,文件擴展名有%22沒有理由添加?
- 25. 找到沒有.mov擴展名的所有文件,並添加.mov
- 26. 如何從目錄中遞歸地查找所有文件擴展名?
- 27. 遞歸地確定文件夾中所有擴展名的COUNT和SUM
- 28. 使用大小寫和遞歸重命名文件擴展名
- 29. 添加更多的文件擴展名到現有的代碼
- 30. 重命名所有'。'到'_'除擴展名以外的文件名
這是缺少'do',如果文件名中有空格,最好引用文件名: for f in $(find。-type f);做mv「$ f」「$ {f} .jpg」;完成 – DrAl 2009-07-10 09:18:51
,據推測我會從頂級目錄內運行? – robjmills 2009-07-10 09:19:27
@seengee:是的。請注意,該命令也會忽略`-type`中的短劃線。 – Stephan202 2009-07-10 09:21:01