透過CMD批量WebP/PNG,JPG互轉格式

隨著WebP 的發展,目前許多網路的圖片都是透過WebP格式來顯示,不過目前仍然許多軟體不支持WebP格式的預覽,例如把漫畫透過工具下載下來後發現是WebP格式但習慣的看圖軟體卻不支持,這時候你只能再透過其他軟體來轉成支持的格式,當然轉檔方式目前也很多甚至有線上工具可以使用,如果你是時常有轉檔需求的人個人會推薦透過Google的開源轉檔工具透過簡單的指令來轉檔,具體如何使用指令就參考下方介紹吧。

工具下載

下載後解壓縮 在bin資料夾內找到exe檔案

Google 開源WebP解碼/編碼器

https://developers.google.com/speed/webp/download

如何使用下方的指令?

把下載後的dwebp.exe或cwebp.exe放到圖片資料夾

在資料夾路徑打上『cmd』按下鍵盤的『Enter』即可開始輸入指令

效果如下

 

dwebp.exe  解碼  WebP 成 PNG格式

dwebp將 WebP 文件解壓縮為 PNG、PAM、PPM 或 PGM 圖像。注意:不支持動畫 WebP 文件。

注意同名的目標檔案會覆蓋,例如test.webp轉png若已經存在test.png的檔案會覆蓋

 

轉『webp』到『png』

for %f in (*.webp) do dwebp.exe "%f" -o "%~nf.png"

轉『webp』到『png』並刪除原始『webp』

for %f in (*.webp) do ( dwebp.exe "%f" -o "%~nf.png" && IF EXIST "%~nf.png" DEL "%f" )

 

處理多個資料夾

轉『webp』到『png』,遞迴語法(只適用於兩層結構)

for /R %f in (*.webp) do dwebp.exe "%f" -o "%~dpnf.png"

轉『webp』到『png』,遞迴語法(只適用於兩層結構),刪除原始圖片

for /R %f in (*.webp) do ( dwebp.exe "%f" -o "%~dpnf.png" && IF EXIST "%~dpnf.png" DEL "%f" )

cwebp.exe  編碼  PNG, JPEG, TIFF 成WebP格式

cwebp使用 WebP 格式壓縮圖像。輸入格式可以是 PNG、JPEG、TIFF、WebP 或原始 Y’CbCr 樣本。注意:不支持動畫 PNG 和 WebP 文件。

注意同名的目標檔案會覆蓋,例如test.png轉webp若已經存在test.webp的檔案會覆蓋

轉『PNG』到『WebP』

for %f in (*.png) do  ( cwebp.exe  "%f" -o   "%~nf.webp"  &&  IF EXIST "%~nf.webp"  DEL "%f"  )

轉『JPG JPEG』到『WebP』

for %f in (*.jpg *.jpeg) do  ( cwebp.exe  "%f" -o   "%~nf.webp"  &&  IF EXIST "%~nf.webp"  DEL "%f" )

其他格式請自己修改 (*.png) 成 (*.tiff) 這樣的指令即可

處理多個資料夾

轉『PNG』到『WebP』,遞迴語法(只適用於兩層結構)

for /R  %f in (*.png) do cwebp.exe  "%f" -o  "%~dpnf.webp"

轉『PNG』到『WebP』,遞迴語法(只適用於兩層結構),刪除原始圖片

for /R  %f in (*.png) do  ( cwebp.exe  "%f" -o  "%~dpnf.webp"  &&  IF EXIST "%~dpnf.png"  DEL "%f" )

轉『JPG JPEG』到『WebP』,遞迴語法(只適用於兩層結構)

for /R %f in (*.jpg *.jpeg) do  cwebp.exe  "%f" -o   "%~dpnf.webp"

轉『JPG JPEG』到『WebP』,遞迴語法(只適用於兩層結構),刪除原始圖片

for /R %f in (*.jpg *.jpeg) do  ( cwebp.exe  "%f" -o   "%~dpnf.webp"  &&  IF EXIST "%~dpnf.webp"  DEL "%f" )

固定exe位置

以上語法每次要把 dwebp.exe 和 cwebp.exe複製到資料夾太麻煩了,為了簡化流程你可以

把 exe檔案放到固定位置如 C:\webp

然後改一下語法例如↓

原本

for /R  %f in (*.png) do cwebp.exe  "%f" -o  "%~dpnf.webp"

改成

for /R  %f in (*.png) do C:\webp\cwebp.exe  "%f" -o  "%~dpnf.webp"

 

其他補充

在說明的文檔有許多參數各位可依照需要自己加上,例如無損的-lossless模式保留透明度, -q來調整輸出後的品質 , -z 來壓縮圖片

 

2 評論
最新
最舊 評價最高
Inline Feedbacks
查看所有評論
hck
2022 年 4 月 25 日 下午 5:00

請問,有辦法寫成*.bat或*.cmd自動執行該指令轉換圖片嗎?謝謝。