Запустите простую команду, используя PowerShell рекурсивно для каталога - PullRequest
7 голосов
/ 24 апреля 2009

Какой самый быстрый способ использования сценариев 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 - это самый простой способ, но я не смог выучить PowerShell за 5 минут, которые мне нужно было выполнить!

Примечание: это не так, но convert из ImageMagick .

1 Ответ

25 голосов
/ 24 апреля 2009

В PowerShell:

Используйте ключ -recurse и pipe для foreach. Например ::

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

(Обратите внимание, что знак% является псевдонимом foreach-объекта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...