|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проблема с форматированием bat файла |
|
|
CMD/BAT - [решено] Проблема с форматированием bat файла
|
Новый участник Сообщения: 31 |
Профиль | Отправить PM | Цитировать Здравствуйте, есть такой софт ImageMagick.
Позволяет из командной строки работать с графикой. Я пока разбираю примеры приведённые в руководстве. И есть несколько примеров где появилась мелкая но досадная помеха. Исполняемый файл выглядит так: .\bin\magick -size 520x100 xc:lightblue ^ -font georgia -pointsize 72 ^ -draw "fill black text 27,67 'Led Zeppelin' text 25,68 'Led Zeppelin' text 23,67 'Led Zeppelin' text 22,65 'Led Zeppelin' text 23,63 'Led Zeppelin' text 25,62 'Led Zeppelin' text 27,63 'Led Zeppelin' text 28,65 'Led Zeppelin'" 7.png .\bin\magick -size 320x100 xc:lightblue -font georgia -pointsize 72 ^ -draw "fill black text 27,67 'Led Zeppelin' ^ text 25,68 'Led Zeppelin' ^ text 23,67 'Led Zeppelin' ^ text 22,65 'Led Zeppelin' ^ text 23,63 'Led Zeppelin' ^ text 25,62 'Led Zeppelin' ^ text 27,63 'Led Zeppelin' ^ text 28,65 'Led Zeppelin' ^ fill white text 25,65 'Led Zeppelin' " ^ 7.png Помогите пожалуйста, а то без форматирования совсем не весело. |
|
Отправлено: 15:27, 18-12-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Вынесете в отдельный файл, наподобие:
fill black text 27,67 'Led Zeppelin' text 25,68 'Led Zeppelin' text 23,67 'Led Zeppelin' text 22,65 'Led Zeppelin' text 23,63 'Led Zeppelin' text 25,62 'Led Zeppelin' text 27,63 'Led Zeppelin' text 28,65 'Led Zeppelin' fill white text 25,65 'Led Zeppelin' |
Отправлено: 16:39, 18-12-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, спасибо. А нет варианта без внешнего файла?
Какое нибудь экранирование? или в переменную поместить? Ваше решение отличное, просто когда надо что то на ходу поменять гораздо удобнее когда всё перед глазами. И "читабельней". |
Отправлено: 16:56, 18-12-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Разве что в каждой строке прописывать команду. Но тут выползает другая проблема — из-за этого потребуется указывать эту команду со всеми значимыми аргументами полностью. На Вашем примере разницы не увидишь, но можете сравнить:
"C:\Program Files\ImageMagick-6.9.3-Q8\convert.exe" ^ -size 320x100 xc:lightblue ^ -font georgia -pointsize 72 ^ -draw "fill black text 27,67 'Led Zeppelin'" ^ -draw "fill black text 25,68 'Led Zeppelin'" ^ -draw "fill black text 23,67 'Led Zeppelin'" ^ -draw "fill black text 22,65 'Led Zeppelin'" ^ -draw "fill black text 23,63 'Led Zeppelin'" ^ -draw "fill black text 25,62 'Led Zeppelin'" ^ -draw "fill black text 27,63 'Led Zeppelin'" ^ -draw "fill black text 28,65 'Led Zeppelin'" ^ -draw "fill white text 25,65 'Led Zeppelin'" ^ -draw "fill white text 10,44 'Led Zeppelin'" ^ 8.png "C:\Program Files\ImageMagick-6.9.3-Q8\convert.exe" ^ -size 320x100 xc:lightblue ^ -font georgia -pointsize 72 ^ -draw "fill black text 27,67 'Led Zeppelin'" ^ -draw "text 25,68 'Led Zeppelin'" ^ -draw "text 23,67 'Led Zeppelin'" ^ -draw "text 22,65 'Led Zeppelin'" ^ -draw "text 23,63 'Led Zeppelin'" ^ -draw "text 25,62 'Led Zeppelin'" ^ -draw "text 27,63 'Led Zeppelin'" ^ -draw "text 28,65 'Led Zeppelin'" ^ -draw "fill white text 25,65 'Led Zeppelin'" ^ -draw "text 10,44 'Led Zeppelin'" ^ 9.png Посему, в данном конкретном случае, лучше использовать отдельную команду «-fill», тогда указанный цвет будет наследоваться всеми последующими командами «-draw». Т.е.: "C:\Program Files\ImageMagick-6.9.3-Q8\convert.exe" ^ -size 320x100 xc:lightblue ^ -font georgia -pointsize 72 ^ -fill black ^ -draw "text 27,67 'Led Zeppelin'" ^ -draw "text 25,68 'Led Zeppelin'" ^ -draw "text 23,67 'Led Zeppelin'" ^ -draw "text 22,65 'Led Zeppelin'" ^ -draw "text 23,63 'Led Zeppelin'" ^ -draw "text 25,62 'Led Zeppelin'" ^ -draw "text 27,63 'Led Zeppelin'" ^ -draw "text 28,65 'Led Zeppelin'" ^ -fill white ^ -draw "text 25,65 'Led Zeppelin'" ^ -draw "text 10,44 'Led Zeppelin'" ^ 10.png |
Отправлено: 17:42, 18-12-2016 | #4 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, спасибо большое. Буду пробовать все варианты, посмотрю как удобней.
А не подскажите ли вы какую нибудь среду для работы с bat? что нибудь вроде Windows PowerShell Integrated Scripting Environment (ISE) только для cmd? похоже мне не помешает. |
|
Отправлено: 19:48, 18-12-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата hp1nt0:
|
|
Отправлено: 20:36, 18-12-2016 | #6 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, вашим советам цены нет. предложение дописать команды просто в точку.
.\bin\magick -size 470x100 xc:lightblue -font georgia -pointsize 72 ^ -draw "fill black text 27,67 'Led Zeppelin'" ^ -draw "fill black text 25,68 'Led Zeppelin'" ^ -draw "fill black text 23,67 'Led Zeppelin'" ^ -draw "fill black text 22,65 'Led Zeppelin'" ^ -draw "fill black text 23,63 'Led Zeppelin'" ^ -draw "fill black text 25,62 'Led Zeppelin'" ^ -draw "fill black text 27,63 'Led Zeppelin'" ^ -draw "fill black text 28,65 'Led Zeppelin'" ^ -draw "fill white text 25,65 'Led Zeppelin'" ^ LZ.png |
Отправлено: 21:24, 18-12-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать hp1nt0, ещё раз настойчиво советую: дабы не дублировать «fill color» в каждой команде «-draw», используйте отдельную команду «-fill» в нужном месте (пример приводил в последнем коде чуть выше).
|
Отправлено: 21:33, 18-12-2016 | #8 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Да вы совершенно правы. исполнил команду следующего вида:
.\bin\magick -size 470x100 xc:lightblue ^ -font georgia -pointsize 72 ^ -fill black ^ -draw "text 27,67 'Led Zeppelin'" ^ -draw "text 25,68 'Led Zeppelin'" ^ -draw "text 23,67 'Led Zeppelin'" ^ -draw "text 22,65 'Led Zeppelin'" ^ -draw "text 23,63 'Led Zeppelin'" ^ -draw "text 25,62 'Led Zeppelin'" ^ -draw "text 27,63 'Led Zeppelin'" ^ -draw "text 28,65 'Led Zeppelin'" ^ -fill white ^ -draw "text 25,65 'Led Zeppelin'" ^ LZ3.png меня ввело в заблуждение что fill в двойных кавычках не предварялось минусом. и опять спасибо. |
Отправлено: 22:06, 18-12-2016 | #9 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, здравствуйте.
Это конечно офтоп но поскольку я видел что вы тоже используете IM то может это будет вам полезно знать: в IM7 добавили возможность добавлять файл с командами форматирование которого не надо приводить в соответствие ограничений накладываемых средой исполнения. Описание и обсуждение на форуме IM http://www.imagemagick.org/discourse...hp?f=1&t=31079 |
Отправлено: 15:45, 22-12-2016 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Создание bat файла c помощью другого bat файла | GODolubOFF | Скриптовые языки администрирования Windows | 11 | 03-01-2016 20:30 | |
2003/XP/2000 - [решено] Проблема с форматированием строк таблицы | nebrit63 | Microsoft Office (Word, Excel, Outlook и т.д.) | 3 | 26-08-2013 08:26 | |
CMD/BAT - Запуск BAT файла с правами локального пользователя из сетевого BAT файла | Yurii_L | Скриптовые языки администрирования Windows | 9 | 05-09-2012 14:27 | |
Установка - Установка Windows (проблема с форматированием) | JJKey | Microsoft Windows 2000/XP | 10 | 01-05-2012 10:59 | |
CMD/BAT - [решено] Запуск bat-файла от имени админа.Как сделать каталог этого bat-файла текущим?? | axmed0207 | Скриптовые языки администрирования Windows | 1 | 19-01-2012 06:14 |
|