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

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

root13 26-10-2013 22:17 2241609

Создание bat который будет создавать другой bat для создания 3
 
Проблема вот в чем?
Необходимо создать bat файл, который создает следующий bat файл. Он в свою очередь постоянно проверяет наличие 1 bat и если его удаляют то второй bat восстанавливает 1 bat файл.
Я смог создать 2 bat, но при его создании туда не записывается часть комманды

Пример:
1 bat файл

x>>y>>z

x,y это текст который должен попасть во 2 bat файл. z - путь где создается 2 bat файл

Но при запуске создается 2 bat, но только с командой x, а должно быть x>>y

Не знаю, как понятней объяснить))

Iska 26-10-2013 23:19 2241641

Цитата:

Цитата root13
Не знаю, как понятней объяснить)) »

Объясните, зачем Вам вирус?

Гуллипут 26-10-2013 23:21 2241644

Не надо этих экивоков. Напиши сами команды, а не намёки на них. Тогда, может быть, кто-нибудь поможет.

root13 27-10-2013 08:49 2241746

Iska это не вирус, это "защита от дурака"))

вот часть кода:

@echo @echo set /a f=e+1>>%x%>>%y%

переменные x и y содержат пути, мне необходимо, что бы во 2 bat файл записывались вот эти строки:

@echo set /a f=e+1>>%x%

А он записывает только:

@echo set /a f=e+1

Как-то так))

Iska 27-10-2013 14:16 2241888

Цитата:

Цитата root13
@echo set /a f=e+1>>%x% »

Код:

@echo set /a f=e+1^>^>%x%

Гуллипут 27-10-2013 15:46 2241927

Да, Iska прав. Суть тут вот в чём: надо, чтобы первое включение >> воспринималось, как строка, а не как управляющая последовательность. Для этого служит специальный символ ^, который указывает, что следующий за ним символ не должен восприниматься, как управляющий. Но, кроме этого, видимо, надо, чтобы и первое включение знака % (вокруг x) тоже воспринималось, как текст. Для знака % это произойдёт, если его записать дважды. Так что это будет выглядеть так:
Код:

@echo @echo set /a f=e+1^>^>%%x%%>>%y%
Впрочем, последний мой вывод следует вот из этих слов:
Цитата:

переменные x и y содержат пути, мне необходимо, что бы во 2 bat файл записывались вот эти строки:

@echo set /a f=e+1>>%x%
Если на самом деле имелось в виду, что во 2-ом файле должно быть уже значение переменной x, а не ссылка на неё, то нужен вариант, который предложил Iska. А это вполне вероятно в том случае, если переменная x определена только внутри 1-го файла.


Время: 02:29.

Время: 02:29.
© OSzone.net 2001-