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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - как написать цикл с проверкой вводимых данных?

Ответить
Настройки темы
CMD/BAT - как написать цикл с проверкой вводимых данных?

Новый участник


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

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


вот кусок кода:
Код: Выделить весь код
If %less% GTR 0 (  	msg * "Внимание осталось %less% дней"   	  ) 
Else (  	Echo %prd% дней закончилось, введите ключ  	pause>nul  )
теперь надо ввести ключ и проверить правильный ли он! как это сделать подскажите!
я так понимаю надо сделать цикл с условием?
типа если ключ правильный то программа продолжает работать если нет то выдает сообщение что он не правильный и предлагает заново ввести ключ! Помогите пожалуста написать код для этого цикла ибо я только начинающий не все еще знаю...

Отправлено: 10:50, 06-03-2010

 

Googler


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

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


Цитата angelada89:
если ключ правильный то программа продолжает работать если нет то выдает сообщение что он не правильный и предлагает заново ввести ключ »
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set lss=0
Set prd=10
Set key=123-ABC-456

:LOOP
If %lss% GTR 0 (msg * "Внимание! Осталось %lss% дней.") Else (
Set /P ink="%prd% дней закончилось, введите ключ: "
If /I Not "!ink!"=="%key%" Echo Ключ неверен^^^!& GoTo LOOP )

Отправлено: 15:18, 06-03-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


огромное спасибо! а как теперь привязать удаление из реестра строки если ключ введен правильно??

Код: Выделить весь код
@Echo Off  
SetLocal EnableExtensions EnableDelayedExpansion  
CHCP 1251  :: Первый запуск скрипта и запоминание даты в файл fstStrt.lst   
If Not Exist fstStrt.lst Echo %date%>fstStrt.lst& Exit    
:: Второй и последующие запуски скрипта    
For /F %%I In (fstStrt.lst) Do Set fstStrt=%%I      
Set fstStrt=25.01.2010     
Set prd=30  
Set key=123456  
Call :JDat %date%  
Set less=%JDate%  
Call :JDat %fstStrt%  
Set /a less=JDate+prd-less  
:LOOP  If %less% GTR 0 (  	msg * "Внимание осталось %less% дней"   	  ) Else (  	Set /P ink= "%prd% дней закончилось, введите ключ: "  	If /I Not "!ink!"=="%key%" Echo Ключ неверен^^^!& GoTo LOOP  )  Exit    
:JDat  Set dat=%1  Set /a m=(1%dat:~3,2%-114)/12  Set /a JDate=1%dat:~0,2%+((1%dat:~3,2%-102-m*12)*367+((%dat:~6%+m)*487-49-(%dat:~6%+m)/100)*9)/12  
GoTo:EOF
вот теперь надо сделать так что при первом запуске программа делает 2 записи в реестр одна в авторане чтобы программа запускала себя каждый раз при в ключении и сверялась с датой!
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v PROGA /t REG_SZ /d C:\Windows\system\PROGA.bat /f>nul

а вторая запись которая бы потом не давала заново запускать программу когда кончится время!
а если ввели ключ то 2 запись с реестра бы просто удалилась.

Отправлено: 17:00, 06-03-2010 | #3


Googler


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

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


Цитата:
Set dat=%1 Set /a m=(1%dat:~3,2%-114)/12
код нерабочий - каждая CMD-команда должна идти с новой строки

Отправлено: 11:34, 07-03-2010 | #4


Новый участник


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

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


да я знаю! просто так копирнулось не доглядел

Отправлено: 14:42, 07-03-2010 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - как написать цикл с проверкой вводимых данных?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] Как отключить таймер перед проверкой дисков в WinXP? GSA_GSA Microsoft Windows 2000/XP 1 24-06-2009 11:41
[решено] Цикл... Как его правельно использовать в моём случае??? sashadeg AutoIt 3 24-03-2009 16:53
Как написать батник? kem Хочу все знать 1 17-07-2008 20:59
Как изменить ограничение количества компьютеров, вводимых в домен? babki Microsoft Windows NT/2000/2003 2 10-11-2006 08:08
Как в С++ написать резидента? Turman Программирование и базы данных 8 16-07-2004 03:35




 
Переход