以下代码完美地从命令行完美组合两个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