![](/img/trans.png)
[英]Batch Convert Sony raw “.ARW” image files to .jpg with raw image settings on the command line
[英]How to batch convert RAW images in several subfolders to DNG
所以我的主文件夾中有 20 個子文件夾,里面裝滿了文件,每個子文件夾中有大約 200 個文件。 我一直在嘗試編寫一個腳本來將每個子文件夾中的每張圖片都轉換為 DNG。 我做了一些研究,並且能夠從當前文件夾批量轉換圖像。 我已經嘗試開發這個想法以使其適用於子文件夾,但沒有成功。 這是我寫的代碼:
for D in 'find . -type d'; do for i in *.RW2; do sips -s format jpeg $i --out "${i%.*}.jpg"; cd ..; done; done;
最簡單和最快的方法是使用GNU Parallel,如下所示:
find . -iname \*rw2 -print0 | parallel -0 sips -s format jpeg --out {.}.jpg {}
因為這將並行使用所有 CPU 內核。 但是在你啟動任何你沒有測試過的命令之前,最好像這樣使用--dry-run
選項,以便它顯示你將要做什么,但實際上不做任何事情:
find . -iname \*rw2 -print0 | parallel --dry-run -0 sips -s format jpeg --out {.}.jpg {}
樣本輸出
sips -s format jpeg --out ./sub1/b.jpg ./sub1/b.rw2
sips -s format jpeg --out ./sub1/a.jpg ./sub1/a.RW2
sips -s format jpeg --out ./sub2/b.jpg ./sub2/b.rw2
如果您喜歡它的外觀,請刪除--dry-run
並再次運行它。 請注意, -iname
參數意味着它對大小寫不敏感,因此它適用於“ .RW2”和“ .rw2”。
GNU Parallel可以通過自制軟件輕松安裝在 macOS 上:
brew install parallel
它也可以在沒有包管理器(如homebrew )的情況下安裝,因為它實際上是一個 Perl 腳本,Mac 帶有 Perl。 因此,您可以通過在終端中執行此操作來安裝:
(wget pi.dk/3 -qO - || curl pi.dk/3/) | bash
您的問題似乎很困惑,您是想要標題建議的DNG
文件,還是代碼建議的JPEG
文件。 我的代碼按原樣生成 JPEG。 如果你想要DNG
輸出,你需要安裝Adobe DNG Converter ,然后運行:
find . -iname \*rw2 -print0 | parallel --dry-run -0 \"/Applications/Adobe DNG Converter.app/Contents/MacOS/Adobe DNG Converter\"
您可以將其他一些選項附加到上述命令的末尾:
-e
將原始RW2
文件嵌入DNG
-u
將創建未壓縮的DNG
文件-fl
將快速加載信息添加到DNG
DNG Converter似乎很高興並行運行多個實例,但我沒有測試數千個文件。 如果遇到問題,只需更改為parallel -j 1 ...
一次運行一項作業
Adobe DNG Converter可以使用自制軟件輕松安裝在 macOS 下,如下所示:
brew install caskroom/cask/adobe-dng-converter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.