将xargs Bash命令转换为PowerShell?

时间:2009-04-27 17:40:14

标签: bash powershell

我有一个简单的Bash命令,可以在使用ImageMagick的低流量网站上自动调整某些图像的大小 - 我想将其转换为PowerShell命令,所以我不必在我的网络服务器上安装Cygwin。谁能在这里借给他们的PSh技能?

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

1 个答案:

答案 0 :(得分:26)

最好的办法是将ls的输出管道传递给foreach-object命令行开关(%是foreach-object的别名):

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

编辑:ls将一个FileInfo或DirectoryInfo对象列表输出到管道上。要过滤掉DirectoryInfo对象,请使用where-object过滤器(?是别名):

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

如果需要在命令中访问完整路径名,请使用FileInfo对象的FullName属性($ _本身将解析为$ _。名称只是文件名):

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