PDA

Показать полную графическую версию : Как из .bat создать текст со сложной строкой и параметрами


LEmiD
15-12-2017, 03:10
Перечитал всяких тем, удалось сделать только часть.
В середину текстового файла нужно вписать одну строку. С остальными строками проблем нет.
WshShell.Run("""C:\run\exe"" prog --param1 abc --param2 123 --param3 xxxx.num"),0Если сделать так с ковычками,
Echo "WshShell.Run("""C:\run\exe"" prog --param1 abc --param2 123 --param3 xxxx.num"),0">> txt.txtто и строка получается с кавычками и не работает
"WshShell.Run("""C:\run\exe"" prog --param1 abc --param2 123 --param3 xxxx.num"),0"Если кавычки убрать, она вообще не создаётся.
Как вписать эту строку чтоб в ней не было кавычек в начале и конце ?

В идеале её бы ещё изменить, а именно добавить 2 переменные.
После --param3 вписать значение переменной вместо num , можно число, чтоб ещё кавычек не добавлять.
Путь к программе "C:\run\exe" тоже желательно заменить за переменную, но не обязательно.

Пробовал такое (http://www.cyberforum.ru/cmd-bat/thread1546481.html), получилась фигня, отрезало только WshShell.Run("""C:\run\exe""

Iska
15-12-2017, 04:07
Только вчера здесь был разговор на ту же самую тему (http://forum.oszone.net/post-2784149.html#post2784149).
>>"txt.txt" echo WshShell.Run("""C:\run\exe"" prog --param1 abc --param2 123 --param3 xxxx.num"),0

Iska
15-12-2017, 04:55
В идеале её бы ещё изменить, а именно добавить 2 переменные.
После --param3 вписать значение переменной вместо num , можно число, чтоб ещё кавычек не добавлять.
Путь к программе "C:\run\exe" тоже желательно заменить за переменную, но не обязательно. »
Подробнее, пожалуйста.

yurfed
15-12-2017, 06:54
Iska, я не утверждаю, но может дело в самых "ковычках". Просто не "закрытые" они сами по себе.
Было такое, когда по астрономии, рисовал на BASIC кучу формул, круглые скобки вложенные друг в друга.

Iska
15-12-2017, 07:27
yurfed, тут ведь не VB, пакетный файл. Строковые лексемы не имеют отдельного выделения в коде, кавычки при echo не требуются.

А что до:
Если кавычки убрать, она вообще не создаётся. »
так ровно та же песня, что по ссылке: нолик в конце строки воспринимается интерпретатором как номер потока для перенаправления.

megaloman
15-12-2017, 12:06
В идеале её бы ещё изменить, а именно добавить 2 переменные.
После --param3 вписать значение переменной вместо num , можно число, чтоб ещё кавычек не добавлять.
Путь к программе "C:\run\exe" тоже желательно заменить за переменную, но не обязательно. » А в чём сложности? Set "Run=C:\Program Files\Windows NT\Run\тра ля ля.exe"
Set "xxxx=Cюсю"

>>"яяяяяяяя.txt" echo WshShell.Run("""%Run%"" prog --param1 abc --param2 123 --param3 %xxxx%.num"),0
У меня другой вопрос: зачем это всё делается, лучше бы увидеть всю задачу целиком. Не верю, что в текстовый (!) файл нужно добавлять посредством CMD кусок кода vbs.

Iska
15-12-2017, 15:34
У меня другой вопрос: зачем это всё делается, лучше бы увидеть всю задачу целиком. »
Я уже устал это повторять :).

LEmiD
15-12-2017, 17:54
Iska,
Оно самое, никогда этот синтаксис не пойму.
Переменные тоже хорошо стали. (вырезал компромат)
>>%file% Echo WshShell.Run("""%pa%"" p.exe --u y.%num% --s g --p 3 --pa z"),0Просто я на форумах так редко бываю что акки удалять успевают. Тут почемуто сохранился ещё с XP времён.
megaloman,
неприличная задача. Создать этот самый скрипт батником и уложить.
В общем батник в любом случае есть




© OSzone.net 2001-2012