Для цикла рекурсивно через папку в Windows CMD для переименования файлов - PullRequest
6 голосов
/ 21 марта 2011

Я пытаюсь перебирать папки с изображениями для создания миниатюр с помощью ImageMagic и переименовывать файлы миниатюр с префиксом small_.

, когда я выполняю это в одной папке, он прекрасно работает:

FOR %a in (*.jpg) DO convert %a -thumbnail 30% small_%a

Чтобы перебрать подпапки, мне просто нужен флаг / R:

FOR /R %a in (*.jpg) DO convert %a -thumbnail 30% small_%a

Это приведет к новому имени для миниатюры small_c:\images\image.jpg, что неверно:)

КакМогу ли я получить префикс small_ в имя файла при рекурсии через подпапки в скрипте, то есть от c:\images\image.jpg до c:\images\small_image.jpg?

Спасибо.

1 Ответ

13 голосов
/ 21 марта 2011

Я думаю, что это может подойти вашему делу.

for /R %i in (*.jpg) DO convert %i -thumbnail 30% %~di%~pi%~ni_small%~xi
...