PDA

Показать полную графическую версию : [решено] Создание bat файлов


Страниц : [1] 2

_Stomatolog
15-09-2014, 17:53
В общем:
1) имеет текстовый файлик с такими строками(каждое название на новой строчке)
m&m's 130 гр с арахисом
m&m's 130 гр с молочным шоколадом
m&m's 45 гр с арахисом
m&m's 45 гр с молочным шоколадом
Американо
...
2)необходимо создать n-ное кол-во файлов(сколько строк,сток и файлов) с содержанием
файл1) @echo off

(echo Ваш заказ принят& echo Среднее время ожидания-5 минут)| msg *

Chcp 1251
sent Reseption "m&m's 130 гр с арахисом"
sent Kassa "m&m's 130 гр с арахисом"
cls

файл2) @echo off

(echo Ваш заказ принят& echo Среднее время ожидания-5 минут)| msg *

Chcp 1251
sent Reseption "m&m's 130 гр с молочным шоколадом"
sent Kassa "m&m's 130 гр с молочным шоколадом"
cls
ну и т.д.

То есть брать каждую строчку и на основе её создавать батник,в котором меняются только 2 строчки sent(в кавычки и вставлять строку)
Название батников брать с этой же строчки
P.S. сделал бы всё и ручками,только вот этот "бар"(это вообще такая фича на работе) содержит почти 1000 наименований:)
Заранее спасибо!

Elven
16-09-2014, 14:41
как-то так например
for /f "delims=" %%i in (spisok.txt) do (
echo @echo off > "%%i.cmd"
echo ^(echo Ваш заказ принят^& echo Среднее время ожидания-5 минут^)^| msg * >> "%%i.cmd"
echo Chcp 1251 >> "%%i.cmd"
echo sent Reseption "%%i" >> "%%i.cmd"
echo sent Kassa "%%i" >> "%%i.cmd"
echo cls >> "%%i.cmd"
)

spisok.txt файл где хранится список вышеуказанной бурды.

Iska
16-09-2014, 16:02
Первое перенаправление:
echo @echo off >> %%i.cmd »
лучше в виде перезаписи, т.е., не «>>», а «>». А то второй раз запустят и…

Elven
16-09-2014, 16:46
лучше в виде перезаписи, т.е., не «>>», а «>». А то второй раз запустят и… »
ну или del /f /q %%i.cmd перед первым перенаправлением
подкорректировал.

gora
16-09-2014, 17:33
m&m's 130 гр с арахисом »
Коллеги, а вас не смущает наличие спец символов в строках, возможно и другие еще есть!?
А вообще, создание файлов в имени которых будут спец символы, пробелы и кириллица - решение не вызывающее у меня одобрения. :( IMHO

Elven
16-09-2014, 18:00
Коллеги, а вас не смущает наличие спец символов в строках, возможно и другие еще есть!? »
пока они находятся в кавычках - нет.
А вообще, создание файлов в имени которых будут спец символы, пробелы и кириллица - решение не вызывающее у меня одобрения. »
Мне тоже не ахти как нравится, но требований к именам файлов не предъявлялось вообще никаких. Впрочем ничто не мешает присваивать им порядковые номера из отдельной переменной или вовсе выдавать рандомные, благо совсем рядом (http://forum.oszone.net/thread-287993.html) этот вопрос решался.

gora
16-09-2014, 18:06
пока они находятся в кавычках - нет. »
В Вашем же коде эта строка находится в переменной %%i.cmd которая не заключена в кавычки. :(

Elven
16-09-2014, 18:33
А я и не знал что Windows религия не позволяет создавать файлы с пробелами в названии.В Вашем же коде эта строка находится в переменной %%i.cmd которая не заключена в кавычки. »
только ради Вашего спокойствия - подправил. Но, повторюсь, файл с названием "m&m's 130 гр с молочным шоколадом.cmd" таки ни разу не комильфо, и такой вариант был вставлен только из-за отсутствия требований к имени файла.

Iska
16-09-2014, 20:39
Коллеги, а вас не смущает наличие спец символов в строках, возможно и другие еще есть!?
А вообще, создание файлов в имени которых будут спец символы, пробелы и кириллица - решение не вызывающее у меня одобрения. IMHO »
Кириллица — нет. А вот по остальному — да. Встретится в тексте что-нибудь наподобие «Бла-бла-бла: два-в-одном» или «Бла-бла-бла — 1 и 1/2 меры» — и всё, «приплыли».

_Stomatolog
19-09-2014, 09:50
Для начала,спасибо всем
А теперь по делу:решение не ах-кирилицу не берет,а она нужна(выдает вариант типа "Ї№■ё ўрщ ёю тъєёюь *уюф 0,5 ы..cmd"),что совсем не гуд :o
На счет спец символов-берет нормально(m&m's 45 уЁ ё рЁрїшёюь.cmd)

Вот есЧе маленький вопросик(извените за банальность,но "моя не совсем дружит со всеми этими .cmd и .bat)-возможно ли вообще скрыть окно батника?(т.е. при работе "батника" пользователю выдается сообщение "Ваш заказ принят Среднее время ожидания-5 минут",а вот окошко выполнения команды видно-можно его как нибудь скрыть?)

Elven
19-09-2014, 10:30
решение не ах-кирилицу не берет »
Если исходный текстовый файл будет в кодировке UTF-8 - возьмет.

возможно ли вообще скрыть окно батника? »
более кошерных способов не знаю, для скрывательства использую такой:

Set oShell = Wscript.CreateObject("WScript.Shell")
CommandLine = "%COMSPEC% /c m&m's 130 гр с арахисом.cmd"
oShell.Run CommandLine, 0, 0

соответственно подставляем название cmd какое нужно и сохраняем файл как .vbs

Iska
19-09-2014, 10:31
А теперь по делу:решение не ах-кирилицу не берет,а она нужна(выдает вариант типа "Ї№■ё ўрщ ёю тъєёюь *уюф 0,5 ы..cmd"),что совсем не гуд »
_Stomatolog, файл должен быть в кодировке OEM/866.

а вот окошко выполнения команды видно-можно его как нибудь скрыть?) »
«Как-нибудь» — можно. Но зачем? Это на что-то влияет?

будет в кодировке UTF-8 »
Зачем?

Elven
19-09-2014, 10:42
Зачем? »
Да как-то постоянно в этой кодировке пишу и проблем не наблюдаю. Просто вопрос привычки, пожалуй.

Iska
19-09-2014, 12:31
Да как-то постоянно в этой кодировке пишу и проблем не наблюдаю. »
Пока Вы не используете кириллицу.

Elven
19-09-2014, 14:33
Пока Вы не используете кириллицу. »
В том-то и дело, что кириллица там имеет место быть, откровенно говоря даже не задумывался над проблемой пока Вы не обратили на нее внимание.

Iska
19-09-2014, 15:53
Elven, упакуйте пару-тройку Ваших пакетных файлов с кириллицей, которая «там имеет место быть» в архив и приложите к сообщению. Хочу посмотреть.

Elven
19-09-2014, 16:20
да пожалуйста.

Iska
19-09-2014, 16:28
Вот потому и:
╔═════════════ C:\Песочница\054\oszone ═══════╤═════╗
║и Имя │Размер│ Дата │Время║
║⌂.. │ Вверх│19.09.14│16:27║
║►m&m's 45 ╨│╤А ╤Б ╨╝╨╛╨╗╨╛╤З╨} 279│19.09.14│16:27║
║►m&m's 45 ╨│╤А ╤Б ╨░╤А╨░╤Е╨╕╤} 241│19.09.14│16:27║
║►m&m's 130 ╨│╤А ╤Б ╨╝╨╛╨╗╨╛╤З} 281│19.09.14│16:27║
║►spis1 cmd│ 319│19.09.14│15:14║
║ spisok txt│ 181│19.09.14│15:16║
║►я╗┐m&m's 130 ╨│╤А ╤Б ╨░╤А╨░╤} 249│19.09.14│16:27║
║ │ │ │ ║
║ │ │ │ ║
Работать желательно всегда с OEM/866.

Elven
19-09-2014, 16:33
Приму на заметку, однако у меня оно вполне нормально отработало, файлы создались с нормальным кирилическим названием без "эльфиской" примеси.

Iska
19-09-2014, 16:41
Попробуйте ещё раз из того архива, что Вы выложили.




© OSzone.net 2001-2012