Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проблема с форматированием bat файла

Ответить
Настройки темы
CMD/BAT - [решено] Проблема с форматированием bat файла

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить 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
Благодарности: 8086

Профиль | Отправить 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'
и указывайте его в аргументе:
Код: Выделить весь код
"C:\Program Files\ImageMagick-6.9.3-Q8\convert.exe" ^
	-size 320x100 xc:lightblue ^
	-font georgia -pointsize 72 ^
	-draw @MyFill.txt ^
	7.png
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:39, 18-12-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, спасибо. А нет варианта без внешнего файла?
Какое нибудь экранирование? или в переменную поместить?
Ваше решение отличное, просто когда надо что то на ходу поменять
гораздо удобнее когда всё перед глазами. И "читабельней".

Отправлено: 16:56, 18-12-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, спасибо большое. Буду пробовать все варианты, посмотрю как удобней.
А не подскажите ли вы какую нибудь среду для работы с bat?
что нибудь вроде Windows PowerShell Integrated Scripting Environment (ISE)
только для cmd? похоже мне не помешает.

Отправлено: 19:48, 18-12-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата hp1nt0:
А не подскажите ли вы какую нибудь среду для работы с bat? »
Far Manager + идущий в комплекте плагин Colorer + плагин [ESC] (Editor's settings changer).
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:36, 18-12-2016 | #6


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить 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
Благодарности: 8086

Профиль | Отправить PM | Цитировать


hp1nt0, ещё раз настойчиво советую: дабы не дублировать «fill color» в каждой команде «-draw», используйте отдельную команду «-fill» в нужном месте (пример приводил в последнем коде чуть выше).
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:33, 18-12-2016 | #8


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, здравствуйте.
Это конечно офтоп но поскольку я видел что вы тоже используете IM
то может это будет вам полезно знать: в IM7 добавили возможность добавлять файл с командами
форматирование которого не надо приводить в соответствие ограничений накладываемых
средой исполнения. Описание и обсуждение на форуме IM
http://www.imagemagick.org/discourse...hp?f=1&t=31079


Отправлено: 15:45, 22-12-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проблема с форматированием bat файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход