在目录上以递归方式使用PowerShell运行简单命令

Sim*_*ver 8 powershell imagemagick

使用DOS脚本或PowerShell在目录及其所有子目录上运行此简单命令的最快方法是什么:

 convert filename.jpg -resize 620x620 "R:\processed\filename.jpg"
Run Code Online (Sandbox Code Playgroud)

单个目录的DOS批处理脚本:

 FOR %%a in (*.jpg) DO convert %%a -resize 620x620 "R:\processed\%%a"
Run Code Online (Sandbox Code Playgroud)

我想以递归方式在目录结构上运行它,并使输出与输入层次结构匹配.我认为PowerShell是最简单的方法,但我无法在5分钟内学习PowerShell,我必须完成这项任务!

注意:不是它相关,而是convert来自ImageMagick.

zda*_*dan 27

在PowerShell中:

使用-recurse开关和管道来foreach.例如:

dir -recurse -include *.jpg | %{convert  $_.FullName -resize 620x620 "R:\processed\$_"}
Run Code Online (Sandbox Code Playgroud)

(请注意,%符号是foreach-object的别名).