![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужен счётчик с лидирующими нулями |
|
|
CMD/BAT - [решено] Нужен счётчик с лидирующими нулями
|
Новый участник Сообщения: 31 |
Здравствуйте, я делаю ватермарки на gif изображения.
Код выглядит так: REM ### PROCCESS ANIMATION START ### set FileNumbA=0 for %%e in ("%SequenceFolder%/*.png") do ( set /a FileNumbA+=1 ) echo Number files in directory %FileNumbA% REM ### PROCCESS ANIMATION START ### setlocal enableextensions enabledelayedexpansion set /a "FrameNumber=01" for %%f in ( "%SequenceFolder%\*.png" ) do ( .\..\bin\magick -size 100x14 xc:none -gravity center ^ -stroke black -strokewidth 2 -annotate 0 "!FrameNumber! of %FileNumbA%" ^ -background none -shadow 100x3+0+0 +repage ^ -stroke none -fill white -annotate 0 "!FrameNumber! of %FileNumbA%" ^ %%f +swap -gravity southwest -geometry +0-3 ^ -composite .\img\1seq\%%~nxf set /a "FrameNumber+=01" ) REM ### PROCCESS ANIMATION START ### for %%g in ( ".\img\1seq\*.png" ) do ( .\..\bin\magick -size 100x14 xc:none -gravity center ^ -stroke black -strokewidth 2 -annotate 0 "%WatermarkText%" ^ -background none -shadow 100x3+0+0 +repage ^ -stroke none -fill white -annotate 0 "%WatermarkText%" ^ %%g +swap -gravity southeast -geometry +0-3 ^ -composite .\img\2seq\%%~nxg ) Считаем общее количество картинок и начинаем на каждую по очереди наносить ватермарк. В конце серию картинок преобразуем в gif. Выглядит примерно так: ![]() Как можно видеть, слева при переходе с 9 до 10 изображение прыгает туда-сюда. Был бы рад подсказке как сделать что бы переменная !FrameNumber! предварялась нулём если в папке менее 100 изображений и двумя нулями если изображений более 100. то есть 01 / 02 / 03 и т.д. и 001 / 002 / 003 и т.д. |
|
Отправлено: 16:37, 27-12-2016 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:55, 27-12-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать alpap, спасибо но по моему это не работает.
Смотрите я поменял 3 на 12 echo off setlocal enabledelayedexpansion for /l %%a in (1 1 12) do set/a FrameNumbe+=1& set "m=00!FrameNumbe!"& set "FrameNumbe=!m:~-3!"& echo !FrameNumbe! pause счётчик считает до восьми и потом обнуляется. и главное я вроде все команды понимаю а результат непредсказуем. |
Отправлено: 18:30, 27-12-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата hp1nt0:
![]() hp1nt0, упакуйте исходники картинок и watermark в архив, и выложите на Яндекс.Диск или RGhost, дабы было с чем «играться». |
|
Отправлено: 18:41, 27-12-2016 | #4 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, уже заливаю. Только одно но, я работаю с множеством проектов одновременно
поэтому у меня всё в одной папке включая исполняемые файлы (hard links. you know ![]() Преимущество в том что можно не заморачиваться с инструкциями по установке софта. Минус в размере "дистрибутива". Я архивировал в рар5 и получилось 10мб. Вроде не много. Запустите единственный батник. Появится окно выбора папки. Надо выбрать папку OriginalDumpedFrames расположенную рядом с батничком. Остальное может быть по умолчанию. http://rgho.st/8lPcRzxCD ЗЫ: Так как я копировал куски кода не проверяя то надо подкорректировать пути к magick вместо надо |
|
Последний раз редактировалось hp1nt0, 27-12-2016 в 19:23. Причина: некорректный код Отправлено: 19:16, 27-12-2016 | #5 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Я нашёл пост
http://stackoverflow.com/questions/1...s-batch-script где человек решил подобную проблему. В сущности нужно IF Только я не понимаю что с чем он сравнивает. |
Отправлено: 20:06, 27-12-2016 | #6 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать hp1nt0, Я не вчитывался в Ваш код, но для счетчика с лидирующими нулями я делаю такую махинацию:
считаю не от 1 до N c шагом 1, а, например, от 1000001 до N+1000000 c шагом 1, а потом отрезаю лишние начальные позиции. Встроить этот счетчик к Вам в задачу не брался, не люблю копаться в чужих кодах. |
------- Отправлено: 23:54, 27-12-2016 | #7 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать megaloman, спасибо. Это отличный способ.
Я "поиграюсь", посмотрю как применить. |
Отправлено: 00:21, 28-12-2016 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата hp1nt0:
echo off setlocal enabledelayedexpansion for /l %%a in (1 1 12) do set/a FrameNumbe+=1& set "m=00!FrameNumbe!"& echo !m:~-3! pause |
|
Отправлено: 03:17, 28-12-2016 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Угу. 1) считаем, 2) приписываем перед переменной потребное количество нулей, 3) вырезаем потребное количество разрядов справа.
|
Отправлено: 05:52, 28-12-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
нужен счётчик на сайт на.. | oIo_DeN_oIo | Вебмастеру | 3 | 05-12-2007 01:22 | |
Счётчик производительности *Processor* | -MAXX- | Автоматическая установка Windows 2000/XP/2003 | 9 | 03-10-2006 15:59 | |
Счётчик на ярлычок | MrGreeN | Microsoft Windows 95/98/Me (архив) | 3 | 15-10-2003 17:16 | |
Счётчик - как сделать? | diter | Вебмастеру | 5 | 03-10-2003 17:05 | |
Счётчик посещений | Evita | Вебмастеру | 13 | 27-08-2002 13:59 |
|