2016-09-15 2 views
0

Возможно ли создать пакетный файл, способный одновременно оптимизировать несколько изображений? Перетащите несколько файлов .jpg на нем? (и у результата есть что-то вроде image1.jpg, image2.jpg, image3.jpg в отдельной папке с именем «Оптимизировано»?Jpegtran - пакетный файл перетаскивания для нескольких файлов

Если jpegtran не идеальный инструмент для этого, тогда я открыт для любых других предложение. Может быть ImageMagick это лучший инструмент для этого?

+0

Интересно, но я думаю, что это маловероятно в партии. – Jonas

+0

Файлы, перетаскиваемые в пакетный файл, отображаются в виде аргументов, к которым могут обращаться «% 1», «% 2», «% 3» или все сразу, '% *'; введите 'call /?' в окно командной строки и прочитайте справку, а также укажите этот ресурс: [Аргументы командной строки (Параметры)] (http://ss64.com/nt/syntax-args.html) ... – aschipfl

ответ

1

Этот код ниже позволяет перетаскивать файлы на него, а затем копирует их %userprofile%\Desktop\Optimized на рабочем столе.

@echo on 
setlocal ENABLEDELAYEDEXPANSION 
set "params=!cmdcmdline:~0,-1!" 
set "params=!params:*" =!" 
set count=0 
for %%G IN (!params!) do (
    set /a count+=1 
    set "item_!count!=%%~G" 
    rem echo !count! %%~G 
) 
for /L %%n in (1,1,!count!) DO (
    xcopy "!item_%%n!" "%userprofile%\Desktop\Optimized" 
) 
pause 
exit 

Заканчивать THIS LINK

I протестировал его на .jpeg и .png файлах, видимо, существует предел в 2048 символов. см. ссылку для получения дополнительной информации.

+0

По-видимому, это лучше, чем использование метода% 1, '% 2,' '% 3' – Jonas

+0

Я пробовал ваш .bat-файл, но насколько я вижу, он перемещает изображение в Оптимизированную папку, фактически не оптимизируя его. –

+0

«Оптимизируя это» вы имеете в виду добавление числа к каждому '.jpg'? – Jonas

Смежные вопросы