以下代碼完美地從命令行完美組合兩個TIFF文件。如何正確地將參數傳遞給Image Magick從PowerShell
然而,當我嘗試使用它在PowerShell中,我正從Magick許多的錯誤,表明它沒有得到正確的參數。我的PowerShell代碼如下所示。
$InputFiles = 'files1.tif file2.tif'
$DestinationFile = 'filecombined.tif'
$magick -quiet $InputFiles -compress JPEG $DestinationFile
這給了我的錯誤,指出它找不到輸入文件和消息表明它認爲它是一個文件名,而不是兩個。在PowerShell v4中,我能夠通過引用每個名稱來實現它。不知道爲什麼這有助於,名稱沒有空格。但是,我不得不升級到v5,並且此方法打破了。
我嘗試使用臨時文件來存儲輸入文件名,但這只是導致了一個不同的錯誤。
$InputFiles = 'files1.tif file2.tif'
$InputFiles | Out-File list.tmp
$DestinationFile = 'filecombined.tif'
$magick -quiet '@list.tmp' -compress JPEG $DestinationFile
magick.exe:無法打開圖像「@z:ÿþz
FYI:'magick -quiet -compress JPEG file1.tif file2.tif filecombined.tif' is not proper IM 6 or 7 syntax'。在任何操作員或對輸入圖像執行操作的設置之前閱讀輸入圖像。正確的語法是:'magick -quiet file1.tif file2.tif -compress JPEG filecombined.tif'。 IM 7的語法不如IM 6更爲寬容。 – fmw42
猜猜我很幸運能夠使用7.更新了Q&A以適應這些知識。 – Code39