Войти

Показать полную графическую версию : числовая переменная больше числа или нет


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 я таки сделал...а остальное нет...

Iska
20-09-2017, 20:26
как можно сделать проверку чтобы переменная была больше числа 7 но меньше числа 64 »
Не переменная. Содержимое переменной было бы от 8 до 63 символов.

@echo off
setlocal enableextensions enabledelayedexpansion

set /p sVar=Enter some symbols:

if defined sVar if "%sVar:~7,1%" neq "" if "%sVar:~63,1%" equ "" (
rem Здесь Ваш код
echo Содержимое переменной окружения [sVar] составляет от 8 до 63 символов.
)

endlocal
exit /b 0

Darkar25
20-09-2017, 21:39
Не переменная. Содержимое переменной было бы от 8 до 63 символов. »
да...сорян...оговорился...но есть кое что..когда я попытался запустить батник то после того как я ввел число он просто закрылся...попытался конец изменить не на выход а на паузу...теперь он после ввода числа просто паузится и всё...ничего не пишет хотя вроде бы должен...и не понять теперь работает тот код который вы мне скинули или нет...

Iska
21-09-2017, 00:42
но есть кое что..когда я попытался запустить батник то после того как я ввел число он просто закрылся...попытался конец изменить не на выход а на паузу... »
А Вы не пытайтесь его «просто запустить» или «пытаться конец изменить не на выход а на паузу». Откройте командную строку и в ней исполняйте пакетный файл:
https://i.imgur.com/uV5AeVQ.png
Ну, или как я, используйте Far Manager.




© OSzone.net 2001-2012