代码之家  ›  专栏  ›  技术社区  ›  Ana Betts

是否将xargs bash命令转换为PowerShell?

  •  17
  • Ana Betts  · 技术社区  · 16 年前

    我有一个简单的bash命令,可以使用ImageMagick在流量低的网站上自动调整一些图像的大小-我想将其转换为PowerShell命令,这样我就不必在我的Web服务器上安装cygwin。有人能把他们的心理健康技能借给这里吗?

    ls | xargs -I {} rconvert "{}" -resize 128x128\> "{}"
    
    1 回复  |  直到 16 年前
        1
  •  26
  •   zdan    16 年前

    您最好将ls的输出通过管道传输到foreach对象commandlet,如下所示(foreach对象的别名为%):

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

    edit:ls将fileinfo或directoryinfo对象的列表输出到管道上。要筛选出DirectoryInfo对象,请使用Where对象筛选(?是别名):

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

    如果需要访问命令中的完整路径名,请使用fileinfo对象的full name属性($本身将被解析为$名称,它只是文件名):

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