#1 08-08-2009 12:36

XotaBi4b
From: Харьков
Registered: 13-09-2008
Posts: 87

batch file

Вопрос про bat файл в среде виндовса.

Как зделать банальное добавление одной единицы к переменной ?

В Сании буилдере к примеру, это делается так

1@ += 1

Ещё кое где

variable++;

А как в батниках это зделать ?

Я там зделал цикл на одно действие, и нужно ещё чтоб значение перменной росло.

Offline

#2 14-08-2009 08:58

KOLLEGA
Registered: 10-01-2009
Posts: 52

Re: batch file

Ну, для того, чтобы производить арифметические действия с переменными, используется команда 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

#3 14-08-2009 17:11

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: batch file

И еще, если в bat-файле запустить бесконечный цикл(ну или очень длинный:):

:1
комманды
goto 1

то батник начинает работать с большой загрузкой процессора, в связи с чем остальные проги не работают или жутко тормозят.

Ага smile А как его вырубить потом если глючить всё будет? (хотя 4х ядерным компам это не страшно...)

Offline

#4 15-08-2009 15:16

KOLLEGA
Registered: 10-01-2009
Posts: 52

Re: batch file

Как вырубить?- как обычно ctrl+alt+del, del, enter smile
А всё-таки, есть ли какая-нить команда типа 0001: wait? я пробовал писать

type stats.txt

-
все равно слишком быстро=(

Last edited by KOLLEGA (15-08-2009 15:18)


Поправьте меня если я ошибаюсь
только вежливо :)

Offline

#5 16-08-2009 10:56

XotaBi4b
From: Харьков
Registered: 13-09-2008
Posts: 87

Re: batch file

Спасибо KOLLEGA я  уже думал - никто не знает smile

Насчёт wait [кол-во] - я разобрался давно, смотрим тут 
http://wiki.oszone.net/index.php/Пауза_в_пакетном_файле

Offline

#6 17-08-2009 13:28

KOLLEGA
Registered: 10-01-2009
Posts: 52

Re: batch file

Таки заставил работать как надо(ну почти:)
в общем сей батник автоматически переименовывает 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

#7 17-08-2009 16:51

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: batch file

KOLLEGA wrote:

Хотелось бы вместо порядкового номера вставлять текущее время, кто-нить знает, как?

По batch-файлам вообще почитай здесь.
Конкретно переименование с датой здесь.

P.S. я просто нашел ссылки, в самих batch'ах я не разбираюсь.

Offline

Board footer

Powered by FluxBB