![]() |
Запуск .bat определенное количество раз и определенное количество дней
1 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество раз. Как это реализовать?
2 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество дней. Как это реализовать? |
будет работать в определеный день
@if "%date%" neq "23.04.2015" exit/b 1 будет работать каждое 10-е число месяца @if "%date:~,2%" neq "10" exit/b 1 а мне надо 1 вариант запуск происходил определенное количество раз 2 вариант определенное количество дней |
Цитата:
Код:
for /l %%i in (1, 1, определенное количество раз) do call некий скрипт Цитата:
|
стобы можно было запустить например только 3 раза BAT
1 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество раз. Как это реализовать? 2 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество дней. Как это реализовать? |
55kadi, даже если сто раз сказать «Мёд, мёд» — во рту сладко не станет. От того, что Вы тупо повторяете первое сообщение, смысла не прибавится.
На первый вопрос ответ был дан выше. |
for /l %%i in (1, 1, ) do call del /F /S /Q /A C:\Users\dk\Desktop\VEHI\*.*
сделал так но не работает |
На уровне примитивного вируса: в текст батника после GoTo :Eof пишется служебная инфа для работы счетчика.
Батник позволит запустить Ваш код не более указанного числа раз
Код:
@Echo Off Батник позволит запустить Ваш код не более указанного числа дней, не обязательно вподряд
Код:
@Echo Off |
megaloman,
все работает спасибо но после переделки BAT в EXE счетчик не работает есть вариант заставить его работать ? |
Цитата:
|
Цитата:
|
a где изменить количество циклов ?
делать служебный файл для работы счетчика как это сделать ? |
Цитата:
Код:
for /? |
Цитата:
|
55kadi, Пишется служебная инфа для работы счетчика во вспомогательный log-файл в папку %Tmp%.
Батник позволит запустить Ваш код не более указанного числа раз
Код:
@Echo Off Батник позволит запустить Ваш код не более указанного числа дней, не обязательно вподряд
Код:
@Echo Off От меня ускользает смысл этого действа. А зачем это всё нужно, не проще ли использовать планировщик? Тем более мне не понятен смысл исполнения Del в цикле FOR /L %%i IN (1,1,125) DO Del .... 125 раз вподряд. |
Цитата:
|
Цитата:
куда точно писать заранее спасибо |
@Echo Off
Rem Кол-во возможных запусков батника Set /A NTime=2 SetLocal EnableExtensions EnableDelayedExpansion Set /A iTime=0 Set "iBat=%Tmp%\%~nx0.log" FOR /F "usebackq tokens=1,2,3 delims= " %%i IN (`type "%iBat%" 2^>nul`) DO ( If "%%i"=="@@@" Set /A iTime+=1 ) If %iTime% GEQ %NTime% GoTo :Eof echo @@@ %Date% %Time% >>"%iBat%" del /F /S /Q /A C:\Users\dk\Desktop\VEHI\*.* & Pause GoTo :Eof сделал так но не работает |
55kadi,
Запустите отладочный вариант, результат (что выдаёт батник), продемонстрируйте здесь.
Код:
@Echo Off |
Цитата:
|
55kadi, вы запустили батник более 5 разрешенных раз.
ВЫ задали макс значение NTime=5, cчетчик запусков iTime=5 тоже, то есть Вы запускал батник 5 раз или более. Посмотрите лог-файл, который создал батник, и, если хотите восстановить разрешение на работу батника, удалите его. Или увеличьте значение NTime. То есть батник отработал как надо. |
а как вставить длинный код ?
for /r C:\============== ) for /r C:\========================== ) for /r C:\=================================== %%i ) for /r C:\======================= %%i ) |
55kadi, Что Вы имеете ввиду? Вы писали:
del /F /S /Q /A C:\Users\dk\Desktop\VEHI\*.* & Pause Здесь делается одна команда Del и затем Pause Можете эту строку удалить и написать код любой длины из любого количества строк вместо неё. Ваши рисуночки с For мне непонятны. Попробуйте сами почитать описание For по команде в командном окне For /? Или опишите задачу, чтобы можно было от чего-то отталкиваться. |
так правильно будет
@Echo Off Rem Кол-во возможных запусков батника Set /A NTime=2 SetLocal EnableExtensions EnableDelayedExpansion Set /A iTime=0 Set "iBat=%Tmp%\%~nx0.log" FOR /F "usebackq tokens=1,2,3 delims= " %%i IN (`type "%iBat%" 2^>nul`) DO ( If "%%i"=="@@@" Set /A iTime+=1 ) If %iTime% GEQ %NTime% GoTo :Eof echo @@@ %Date% %Time% >>"%iBat%" Echo before the script was run %iTime% times ) for /r C:\============== ) for /r C:\========================== ) for /r C:\=================================== %%i ) for /r C:\======================= %%i ) GoTo :Eof EXIT |
megaloman,
Думаю 55kadi надо что-то типа: Код:
@echo off |
alpap, я отчаялся понять, что хочет 55kadi
|
Время: 03:07. |
Время: 03:07.
© OSzone.net 2001-