Wildcards
Cygwin 使用萬用字元修剪所有圖像
不幸的是,我被迫使用窗戶。所以,我安裝
Cygwin
了一些Linux命令。以下命令工作正常。它用修剪後的版本替換圖像。
"C:\Program Files\Cygwin\bin\convert" image1.png -trim image1.png
但是,如何在所有圖像文件上執行此命令?
"C:\Program Files\Cygwin\bin\convert" * -trim ????
您安裝了 cygwin,因此您可以使用它的 shell 來獲得最大的命令支持:
"C:\Program Files\Cygwin\cygwin.bat
這將為您提供一個 bash shell 然後您可以更改directoty 以轉到圖像位置。假設您的圖像位置是
"D:\Your Name\Images"
,去那裡輸入cd "/cygdrive/d/Your Name/Images"
然後使用 bash for 循環呼叫您的命令:for file in * do convert "$file" -trim "$file" done
考慮這更像是對@Slyx答案的擴展/增強。
Cygwin 有一個有用的實用程序
cygpath
可以將 Windows 路徑轉換為 Cygwinbash
外殼中理解的 *nix 樣式:$ cygpath "D:\Path\To\Images" /cygdrive/d/Path/To/Images
除了
for
建議的顯式 -loop 之外,您還可以考慮使用它對find
過濾文件名有更好的支持,並且可以說更安全地支持帶空格的名稱(正如您在 Windows 中可能遇到的那樣):find "$(cygpath "D:\Path\To\Images")"/ -type f -name '*.png' -exec convert '{}' -trim '{}' \;
- 在目錄裡面
D:\Path\To\Images
,- 查找以 (
-type f
) 結尾的文件png
(-name '*.png'
),- 對於它們中的每一個,每個結果文件都帶有as(引用)佔位符
exec
的命令。convert``'{}'