我有一个简单的Bash命令,可以在使用ImageMagick的低流量网站上自动调整某些图像的大小 - 我想将其转换为PowerShell命令,所以我不必在我的网络服务器上安装Cygwin。谁能在这里借给他们的PSh技能?
ls | xargs -I {} rconvert "{}" -resize 128x128\> "{}"
答案 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}