Darkar25
20-09-2017, 18:39
как-то я писал батник где есть вот такая шняга...
set/p "HSPass= Password> "
call :strLen HSPass len
if "%len%"=="8" (goto start1) else (cls & goto HotSpot1)
:strLen stroka length
( SETLOCAL ENABLEDELAYEDEXPANSION
set "HSPass=A!%~1!"
set "len=0"
for /L %%A in (12,-1,0) do (
set /a "len|=1<<%%A"
for %%B in (!len!) do if "!HSPass:~%%B,1!"=="" set /a "len&=~1<<%%A"
)
)
( ENDLOCAL & REM RETURN VALUES
IF "%~2" NEQ "" SET /a %~2=%len%
)
так вот...там задумывалась проверка того что введенное число будет не менее 8-ми символов...я так посмотрел потестировал батник и пришел к выводу что я нихренашеньки не сделал проверку на то чтобы переменная была больше или равно числу 8...как это делать я конечно же не знаю поэтому обращаюсь к вам...как можно сделать проверку чтобы переменная была больше числа 7 но меньше числа 64(от 8 до 63 символов)...и желательно сделать это как можно более компактно...заранее спасибо
поправочка:проверку что переменная РАВНА 8 я таки сделал...а остальное нет...
set/p "HSPass= Password> "
call :strLen HSPass len
if "%len%"=="8" (goto start1) else (cls & goto HotSpot1)
:strLen stroka length
( SETLOCAL ENABLEDELAYEDEXPANSION
set "HSPass=A!%~1!"
set "len=0"
for /L %%A in (12,-1,0) do (
set /a "len|=1<<%%A"
for %%B in (!len!) do if "!HSPass:~%%B,1!"=="" set /a "len&=~1<<%%A"
)
)
( ENDLOCAL & REM RETURN VALUES
IF "%~2" NEQ "" SET /a %~2=%len%
)
так вот...там задумывалась проверка того что введенное число будет не менее 8-ми символов...я так посмотрел потестировал батник и пришел к выводу что я нихренашеньки не сделал проверку на то чтобы переменная была больше или равно числу 8...как это делать я конечно же не знаю поэтому обращаюсь к вам...как можно сделать проверку чтобы переменная была больше числа 7 но меньше числа 64(от 8 до 63 символов)...и желательно сделать это как можно более компактно...заранее спасибо
поправочка:проверку что переменная РАВНА 8 я таки сделал...а остальное нет...