Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


На уровне примитивного вируса: в текст батника после GoTo :Eof пишется служебная инфа для работы счетчика.
Батник позволит запустить Ваш код не более указанного числа раз
Код: Выделить весь код
@Echo Off
cls
Set /A NTime=5

SetLocal EnableExtensions EnableDelayedExpansion

Set /A iTime=0
Set "iBat=%~dpnx0"
FOR /F "usebackq tokens=1,2,3 delims= " %%i IN (`type "%iBat%"`) 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
cls
Set /A NDays=3

SetLocal EnableExtensions EnableDelayedExpansion

Set /A iTime=0
Set "iBat=%~dpnx0"
FOR /F "usebackq tokens=1,2,3 delims= " %%i IN (`type "%iBat%"`) 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
Вместо (или после) Echo перед Pause можете написать свой код

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 23-10-2016 в 17:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:43, 23-10-2016 | #7