Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как из .bat создать текст со сложной строкой и параметрами (http://forum.oszone.net/showthread.php?t=331894)

LEmiD 15-12-2017 03:10 2784415

Как из .bat создать текст со сложной строкой и параметрами
 
Перечитал всяких тем, удалось сделать только часть.
В середину текстового файла нужно вписать одну строку. С остальными строками проблем нет.
Код:

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" тоже желательно заменить за переменную, но не обязательно.

Пробовал такое, получилась фигня, отрезало только WshShell.Run("""C:\run\exe""

Iska 15-12-2017 04:07 2784417

Только вчера здесь был разговор на ту же самую тему.
Код:

>>"txt.txt" echo WshShell.Run("""C:\run\exe"" prog --param1 abc --param2 123 --param3 xxxx.num"),0

Iska 15-12-2017 04:55 2784418

Цитата:

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

Подробнее, пожалуйста.

yurfed 15-12-2017 06:54 2784420

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

Iska 15-12-2017 07:27 2784423

yurfed, тут ведь не VB, пакетный файл. Строковые лексемы не имеют отдельного выделения в коде, кавычки при echo не требуются.

А что до:
Цитата:

Цитата LEmiD
Если кавычки убрать, она вообще не создаётся. »

так ровно та же песня, что по ссылке: нолик в конце строки воспринимается интерпретатором как номер потока для перенаправления.

megaloman 15-12-2017 12:06 2784460

Цитата:

Цитата LEmiD
В идеале её бы ещё изменить, а именно добавить 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 2784506

Цитата:

Цитата megaloman
У меня другой вопрос: зачем это всё делается, лучше бы увидеть всю задачу целиком. »

Я уже устал это повторять :).

LEmiD 15-12-2017 17:54 2784542

Iska,
Оно самое, никогда этот синтаксис не пойму.
Переменные тоже хорошо стали. (вырезал компромат)
Цитата:

>>%file% Echo WshShell.Run("""%pa%"" p.exe --u y.%num% --s g --p 3 --pa z"),0
Скрытый текст
Просто я на форумах так редко бываю что акки удалять успевают. Тут почемуто сохранился ещё с XP времён.

megaloman,
неприличная задача. Создать этот самый скрипт батником и уложить.
В общем батник в любом случае есть


Время: 10:43.

Время: 10:43.
© OSzone.net 2001-