2009-04-27 65 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