首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell与ImageMagick / VIPS的集成

Powershell与ImageMagick / VIPS的集成
EN

Stack Overflow用户
提问于 2017-05-10 17:29:08
回答 1查看 136关注 0票数 0

我试图迭代磁盘上的文件列表,使用VIPS / ImageMagick为每个文件运行一个命令,然后输出一个文件并将其移到另一个目录。我似乎不能让命令一起工作。

为什么变量$_Basefile不能在这个命令中工作?

用于贵宾的单独命令

代码语言:javascript
复制
vips tiffsave input_file.tif output_file.tiff --args[...]

PowerShell命令

代码语言:javascript
复制
ls | %{vips tiffsave $_BaseFile.tif $_BaseFile.tiff --compression jpeg --Q=90 --whateverelse }

更新:正确标记下面的答案有效。竖起大拇指,因为很好地解释了它不起作用的原因!适当的命令是:

代码语言:javascript
复制
GCI -File -Filter "*.tif" | %{vips tiffsave "$($_.FullName)" "$($_.BaseName).tiff" --compression jpeg --Q=90}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 18:07:26

  • 要了解哪些方法/属性是通过管道公开的,您应该发出一个Get-ChildItem -File|Get-Member或简短的ls -File|gm
  • 你会发现你需要的是$_.FullName$_.BaseName

所以试着:

代码语言:javascript
复制
GCI -File -Filter "*.tif" | %{vips tiffsave "$($_.FullName)" "$($_.BaseName).tiff" --compression jpeg --Q=90}

ls,dir,gci都是Get-ChildItem cmdlet的别名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43899166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档