|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск .bat определенное количество раз и определенное количество дней |
|
CMD/BAT - [решено] Запуск .bat определенное количество раз и определенное количество дней
|
Новый участник Сообщения: 34 |
1 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество раз. Как это реализовать?
2 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запустить можно было определенное количество дней. Как это реализовать? |
|
Отправлено: 14:51, 23-10-2016 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать a где изменить количество циклов ?
делать служебный файл для работы счетчика как это сделать ? |
Отправлено: 18:19, 23-10-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 55kadi:
нажать Enter и прочитать. |
|
Отправлено: 18:44, 23-10-2016 | #12 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 19:43, 23-10-2016 | #13 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать 55kadi, Пишется служебная инфа для работы счетчика во вспомогательный log-файл в папку %Tmp%.
Батник позволит запустить Ваш код не более указанного числа раз
@Echo Off Rem Кол-во возможных запусков батника Set /A NTime=5 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 & Pause GoTo :Eof Батник позволит запустить Ваш код не более указанного числа дней, не обязательно вподряд
@Echo Off Rem Кол-во возможных для запуска дней Set /A NDays=3 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 Set "iDate=%%j" ) If %iTime% GEQ %NDays% GoTo :Eof If Not "%Date%"=="%iDate%" echo @@@ %Date% %Time% >>"%iBat%" Echo before the script was run %iTime% days, last day was %iDate% & Pause GoTo :Eof От меня ускользает смысл этого действа. А зачем это всё нужно, не проще ли использовать планировщик? Тем более мне не понятен смысл исполнения Del в цикле FOR /L %%i IN (1,1,125) DO Del .... 125 раз вподряд. |
------- Последний раз редактировалось megaloman, 23-10-2016 в 20:34. Отправлено: 20:20, 23-10-2016 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
![]() |
|
Отправлено: 20:50, 23-10-2016 | #15 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
куда точно писать заранее спасибо |
|
Отправлено: 20:51, 23-10-2016 | #16 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать @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 сделал так но не работает |
Отправлено: 21:14, 23-10-2016 | #17 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать 55kadi,
Запустите отладочный вариант, результат (что выдаёт батник), продемонстрируйте здесь.
@Echo Off Set /A NTime=5 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 ) Echo NTime=%NTime% iTime=%iTime% log-file=%iBat% & Pause If %iTime% GEQ %NTime% GoTo :Eof echo @@@ %Date% %Time% >>"%iBat%" echo del /F /S /Q /A C:\Users\dk\Desktop\VEHI\*.* GoTo :Eof |
------- Отправлено: 22:26, 23-10-2016 | #18 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Последний раз редактировалось 55kadi, 28-10-2016 в 17:13. Отправлено: 22:47, 23-10-2016 | #19 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать 55kadi, вы запустили батник более 5 разрешенных раз.
ВЫ задали макс значение NTime=5, cчетчик запусков iTime=5 тоже, то есть Вы запускал батник 5 раз или более. Посмотрите лог-файл, который создал батник, и, если хотите восстановить разрешение на работу батника, удалите его. Или увеличьте значение NTime. То есть батник отработал как надо. |
------- Отправлено: 23:51, 23-10-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - VBS Создание скрипта и запуск его в определенное время | NoLiveKMS | Скриптовые языки администрирования Windows | 6 | 10-02-2016 12:03 | |
CMD/BAT - [решено] Копирование файла, производимое определенное кол-во раз и переименование копий | Metallor | Скриптовые языки администрирования Windows | 2 | 04-01-2016 16:26 | |
CMD/BAT - Bat-ник для автоматической перезагрузки приложения через определенное время | okamigo | Скриптовые языки администрирования Windows | 1 | 23-10-2013 15:18 | |
Прочее - как задать определенное количество хостов с одного роутера Cisco | Dimchik | Сетевые технологии | 2 | 21-05-2012 11:54 | |
CMD/BAT - [решено] Скрипт для cmd запуск и выключение explorer.exe в определенное время... | ar3127 | Скриптовые языки администрирования Windows | 7 | 18-06-2011 22:03 |
|