[英]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.