簡體   English   中英

Windows Shell中的ImageMagick命令替換

[英]ImageMagick Command Substitution in Windows Shell

我應該如何轉換以下imagemagick命令以在DOS中使用? 據我了解,我不能直接轉換它,而必須在批處理文件中使用for循環,但到目前為止沒有成功。

convert noisy.jpg -crop `convert noisy.jpg -virtual-pixel edge -blur 0x15 -fuzz 15% -trim -format '%wx%h%O' info:` +repage noisy_trimmed_2.jpg

您需要for命令才能捕獲要作為參數傳遞的命令的輸出。 可以這樣說:

for /f "usebackq delims=" %%info in (`convert noisy.jpg -virtual-pixel edge -blur 0x15 -fuzz 15% -trim -format '%wx%h%O' info:`) do convert noisy.jpg -crop %%info +repage noisy_trimmed_2.jpg

最好將convert.exe重命名為imgConvert.exe之類的名稱,以免與Windows convert實用程序沖突。 否則,您應該從可執行文件所在的目錄中運行它,或者指定路徑或使用環境變量來獲取它。

要執行convert.exe,需要vcomp100.dll。

DOS不喜歡單引號(')。 在需要引號的地方使用雙引號(“)。

無論如何,我都這樣工作,@devnull的回答很有幫助,但我沒有使用“ usebackq delims =”。 您還需要通過在每個值前面再加上一個%來逃避%的值。

FOR /F %%A IN ('convert xxx.jpg -virtual-pixel edge -blur 0x15 -fuzz 15%% -trim -format "%%wx%%h%%O" info:') DO convert xxx.jpg -crop %%A +repage yyy.jpg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM