Я предполагаю, что это довольно легко сделать, но у меня нет опыта работы с утилитами командной строки Windows. По сути, мне нужно перебрать все файлы в каталоге (отлично, если он может создавать подкаталоги, но я могу запустить его в каждом из 5 каталогов, если это необходимо), получить имя в виде переменной и запустить его
"C:\Program Files\ImageMagick-6.7.6-Q16\convert.exe" -compress LZW
-colorspace Gray -colors 32 file_var file_var
Я видел динамически именовать файлы в командной строке для цикла . Смогу ли я использовать это (поменять местами SET ... с помощью приведенной выше команды)? Пространство на рассматриваемом компьютере не ограничено, поэтому я не могу выполнить резервное копирование перед запуском этого этапа (я знаю, что это плохо).
windows
command-line
imagemagick
Роберт
источник
источник
"%%f" "%%f"
) просто поместит имя файла (с полным путем) дважды. Вы, вероятно, хотите использовать что-то вроде"%%f" "%%~dpnf.gif"
изменения расширения выходного файла.Ответы:
Странно, был ответ, который имел рекурсивную часть.
Что ж, согласно « Как перебирать файлы, соответствующие шаблону в Batch File» , я смог добиться этого. Вот как это было выполнено:
источник
Откройте PowerShell
Get-ChildItem извлекает список файлов в виде объектов из текущего подкаталога. «-recurse» будет включать подкаталоги. Это помещает его в массив $ Files.
Цикл foreach циклически просматривает каждый файл и вызывает блокнот с аргументом командной строки, указав полный путь к имени файла для каждого файла.
ВНИМАНИЕ. Протестируйте приведенный выше код в каталоге с несколькими небольшими текстовыми файлами, поскольку он откроет экземпляр Блокнота для каждого файла.
Это должно дать вам представление о том, что вы собираетесь делать.
источник