【问题标题】:Looking for powershell solution to convert/scale tif images to jpeg寻找将 tif 图像转换/缩放为 jpeg 的 powershell 解决方案
【发布时间】:2016-04-11 22:26:37
【问题描述】:

我想将 TIFF 图像重新缩放为 500 像素的 JPEG。 我下面的脚本可以将 .jpg 转换为本地驱动器内的缩放 .jpg,但不能跨服务器。我缺少什么让它工作?

Get-ChildItem -path $source -filter *.tif | % { convert $_.Name -scale 500 "$($_.BaseName)-scaled.jpg" }

如果我尝试通过网络工作,我会收到错误:

convert.exe: unable to open image "....jpg": No such file or directory

我似乎也无法以这种方式将 .tif 转换为 .jpg。有没有办法解决这两个问题?

【问题讨论】:

  • 你可以为单个文件手动运行命令吗?这听起来可能更像是 ImageMagic 问题而不是 PowerShell 问题。
  • 你能确认你得到了这个工作吗?如果可以,您可以关闭或编写自己的答案并将其标记为已回答吗?
  • @Nick:问题没有解决,因为我无法在服务器上获取将 jpeg 转换为 tiff 的脚本。我只能在本地驱动器上将 jpeg 转换为 jpeg。
  • @TheMadTechnician 很可能是对的,不是 powershell 有问题,而是你的 convert.exe。尝试创建一个映射到网络文件夹的驱动器,然后重试该脚本。 10 比 1,这将起作用并确认假设。
  • @TheMadTechnician 出于某种原因,问题出在 $_.Name 和 $($_.BaseName) 上。我将它们分别更改为 $_.FullName 和 $($_.FullName) 并且该过程有效。但是,我留下的名称看起来像 image.tif-scaled.jpg。如何删除“.tif”以获得“*-scaled.jpg”?

标签: powershell imagemagick scale imagemagick-convert


【解决方案1】:

这是部分解决方案:

Get-ChildItem -path $source -filter *.tif | % { convert $_.FullName -scale 500 "$($_.BaseName)-scaled.jpg" }

但是,重新缩放的图像放置在 ps1 脚本所在的位置。

【讨论】:

  • "$($_.FullName -Replace ".tif+$", "-scaled.jpg")"替换"$($_.BaseName)-scaled.jpg"
猜你喜欢
  • 2015-10-16
  • 1970-01-01
  • 2015-08-25
  • 2011-08-24
  • 2021-04-18
  • 1970-01-01
  • 2011-04-20
  • 2020-06-07
  • 2011-10-10
相关资源
最近更新 更多