Войти

Показать полную графическую версию : [решено] Батник дописывает сам себя


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

sov44
18-07-2011, 14:55
Второй день ломаю голову, как записать в Inst.cmd
if !$i! equ 6 echo:!$s!& set "$s="& set/a $i=0
вроде все спецсимволы экранирую
>>"Inst.cmd" Echo if ^!^$i^! equ 6 echo:^!^$s^!^& set "^$s="^& set/a ^$i=0
но всё равно не получается как надо.

gora
18-07-2011, 15:06
не получается как надо »
Запись зависит от SetLocal DisableDelayedExpansion\EnableDelayedExpansion
SetLocal DisableDelayedExpansion
>>"Inst.cmd" Echo if !$i! equ 6 echo:!$s!^& set "$s="^& set/a $i=0

SetLocal EnableDelayedExpansion
>>"Inst.cmd" Echo if ^^!$i^^! equ 6 echo:^^!$s^^!^& set "$s="^& set/a $i=0

sov44
21-07-2011, 13:08
gora, ещё вопрос. Необходимо, чтобы в командной строке при запуске пересобранного батника отражалась надпись Внимание! с знаком восклицания в конце. Пробовал увеличивать число ^^^, но безрезультатно.
>>"Inst.cmd" Echo ECHO Внимание^^!

gora
21-07-2011, 13:22
sov44, повторюсь:Запись зависит от SetLocal DisableDelayedExpansion\EnableDelayedExpansion »
При чем как в первом батнике так и во втором, создаваемом.
Думаю разберетесь на примере:@Echo Off
Del "Inst.cmd"
SetLocal DisableDelayedExpansion
>>"Inst.cmd" Echo SetLocal DisableDelayedExpansion
>>"Inst.cmd" Echo ECHO Внимание!
ECHO Внимание!
SetLocal EnableDelayedExpansion
>>"Inst.cmd" Echo SetLocal EnableDelayedExpansion
>>"Inst.cmd" Echo ECHO Внимание^^^^^^^^^^!
ECHO Внимание^^!
pause




© OSzone.net 2001-2012