我正在尝试遍历磁盘上的文件列表,使用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}
答案 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