You are not logged in.
Pages: 1
Вопрос про bat файл в среде виндовса.
Как зделать банальное добавление одной единицы к переменной ?
В Сании буилдере к примеру, это делается так
1@ += 1
Ещё кое где
variable++;
А как в батниках это зделать ?
Я там зделал цикл на одно действие, и нужно ещё чтоб значение перменной росло.
GTA SA CrashKiller by MadniX , Virtual_Key_Codes for opcode 0AB0
Offline
Ну, для того, чтобы производить арифметические действия с переменными, используется команда set:
set testVar=testVar+1 set testVar=10 set testVar=var1+var2 set testVar=2+2
Однако, если требуется цикл с определённым количеством действий, лучше использовать команду for:
FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]
И еще, если в bat-файле запустить бесконечный цикл(ну или очень длинный:):
:1 комманды goto 1
то батник начинает работать с большой загрузкой процессора, в связи с чем остальные проги не работают или жутко тормозят.В связи с этим вопрос: имеется ли в batch аналог wait 0?
Last edited by KOLLEGA (14-08-2009 09:13)
Поправьте меня если я ошибаюсь
только вежливо :)
Offline
И еще, если в bat-файле запустить бесконечный цикл(ну или очень длинный:):
:1 комманды goto 1то батник начинает работать с большой загрузкой процессора, в связи с чем остальные проги не работают или жутко тормозят.
Ага А как его вырубить потом если глючить всё будет? (хотя 4х ядерным компам это не страшно...)
Offline
Как вырубить?- как обычно ctrl+alt+del, del, enter
А всё-таки, есть ли какая-нить команда типа 0001: wait? я пробовал писать
type stats.txt
-
все равно слишком быстро=(
Last edited by KOLLEGA (15-08-2009 15:18)
Поправьте меня если я ошибаюсь
только вежливо :)
Offline
Спасибо KOLLEGA я уже думал - никто не знает
Насчёт wait [кол-во] - я разобрался давно, смотрим тут
http://wiki.oszone.net/index.php/Пауза_в_пакетном_файле
GTA SA CrashKiller by MadniX , Virtual_Key_Codes for opcode 0AB0
Offline
Таки заставил работать как надо(ну почти:)
в общем сей батник автоматически переименовывает replay.rep и присваивает ему порядковый номер при его появлении (реплея) не требуя участия игрока- можно сделать десяток реплеев не отрываясь от игры
@echo off set /a perem=0 goto 1 :0 IF EXIST replay.rep ( echo ok ) ELSE ( goto 1 ) :2 if exist "%perem%.rep" ( set /a perem=perem+1 goto 2 ) else ( echo ok ) rename replay.rep "%perem%.rep" :1 ping -n 3 127.0.0.1 > nul //3- длина паузы, если тормозит, лучше увеличить и наоборот cls goto 0
Хотелось бы вместо порядкового номера вставлять текущее время, кто-нить знает, как?
Поправьте меня если я ошибаюсь
только вежливо :)
Offline
Offline
Pages: 1