Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   числовая переменная больше числа или нет (http://forum.oszone.net/showthread.php?t=329927)

Darkar25 20-09-2017 18:39 2765781

числовая переменная больше числа или нет
 
как-то я писал батник где есть вот такая шняга...
Код:

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 2765804

Цитата:

Цитата Darkar25
как можно сделать проверку чтобы переменная была больше числа 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 2765814

Цитата:

Цитата Iska
Не переменная. Содержимое переменной было бы от 8 до 63 символов. »

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

Iska 21-09-2017 00:42 2765847

Цитата:

Цитата Darkar25
но есть кое что..когда я попытался запустить батник то после того как я ввел число он просто закрылся...попытался конец изменить не на выход а на паузу... »

А Вы не пытайтесь его «просто запустить» или «пытаться конец изменить не на выход а на паузу». Откройте командную строку и в ней исполняйте пакетный файл:
Скрытый текст

Ну, или как я, используйте Far Manager.


Время: 02:03.

Время: 02:03.
© OSzone.net 2001-