8

DOSスクリプトまたはPowerShellを使用して、ディレクトリとそのすべてのサブディレクトリでこの単純なコマンドを実行する最も速い方法は何ですか。

 convert filename.jpg -resize 620x620 "R:\processed\filename.jpg"

単一ディレクトリ用のDOSバッチスクリプト

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

これをディレクトリ構造で再帰的に実行し、出力を入力階層と一致させたいと思います。PowerShellが最も簡単な方法だと思いましたが、このタスクを実行する必要がある5分でPowerShellを学習できませんでした。

注:関連性があるわけではありませんが、 ImageMagickconvertからのものです。

4

1 に答える 1

30

PowerShellの場合:

-recurseスイッチとパイプを使用してforeachします。例:

dir -recurse -include *.jpg | %{convert  $_.FullName -resize 620x620 "R:\processed\$_"}

(%記号はforeach-objectのエイリアスであることに注意してください)。

于 2009-04-24T00:09:26.373 に答える