2009-04-27 276 views
17

我有一个简单的Bash命令,可以在使用ImageMagick的低流量网站上自动调整一些图像的大小 - 我想将其转换为PowerShell命令,因此我不必在我的web服务器上安装Cygwin。任何人都可以借用他们的PSh技能吗?将xargs Bash命令转换为PowerShell?

ls | xargs -I {} rconvert "{}" -resize 128x128\> "{}" 

回答

26

最好的办法是向管ls以在foreach对象命令行这样的(%是的foreach对象的别名)的输出:

ls | %{rconvert $_ -resize 128x128} 

编辑:LS输出的列表FileInfo或DirectoryInfo对象到流水线上。为了筛选出的DirectoryInfo对象,使用where对象过滤器(?是别名):

ls | ?{-not $_.PSIsContainer} | %{rconvert $_ -resize 128x128} 

如果您需要在您的指挥才能访问完整的路径名,使用FileInfo对象的FullName属性($ _本身将被解析为$ _名称这仅仅是文件名):

ls | ?{-not $_.PSIsContainer} | %{rconvert $_.FullName -resize 128x128} 
+0

我想你应该改变$ _至$ _全名 – BeWarned 2009-04-27 18:18:11