Powershell与ImageMagick / VIPS集成

时间:2017-05-10 17:29:09

标签: powershell vips

我正在尝试遍历磁盘上的文件列表,使用VIPS / ImageMagick为每个文件运行命令,然后输出文件并将其移动到另一个目录。我似乎无法让命令一起工作。

为什么变量$ _Basefile在此命令中不起作用?

VIPS的个人命令

vips tiffsave input_file.tif output_file.tiff --args[...]

PowerShell命令

ls | %{vips tiffsave $_BaseFile.tif $_BaseFile.tiff --compression jpeg --Q=90 --whateverelse }

更新:以下标记正确的答案有效。竖起大拇指,解释为什么它没有工作!正确的命令是:

GCI -File -Filter "*.tif" | %{vips tiffsave "$($_.FullName)" "$($_.BaseName).tiff" --compression jpeg --Q=90}

1 个答案:

答案 0 :(得分:1)

  • 了解通过管道公开的方法/属性 您应该发出Get-ChildItem -File|Get-Member或简短ls -File|gm
  • 您会看到$_.FullName$_.BaseName您需要

所以试试:

GCI -File -Filter "*.tif" | %{vips tiffsave "$($_.FullName)" "$($_.BaseName).tiff" --compression jpeg --Q=90}

ls,dir,gci是Get-ChildItem cmdlet

的所有别名