Кто-нибудь знает, почему это не работаеткак использовать предлагающий Funtion в пакете
@echo off
set /p "%pass%=enter password>"
if exist "%pass%"="#####" (goto :passed)
exit
:passed
echo "it worked"
Кто-нибудь знает, почему это не работаеткак использовать предлагающий Funtion в пакете
@echo off
set /p "%pass%=enter password>"
if exist "%pass%"="#####" (goto :passed)
exit
:passed
echo "it worked"
что-то еще вроде этого:
@echo off
set /p "pass=enter password> "
If "%pass%"=="#####" (goto :passed)
exit
:passed
echo "it worked"
Я не уверен, что вы пытаетесь сделать
если вы пытаетесь проверить, если пароль «####» и аутентификации используют эту
@echo off
SET /p pass="enter password>" REM change this to get it to work
IF "%pass%"=="####" (
GOTO passed
) ELSE (
EXIT
)
:passed
echo "it worked"
вы не установка переменной Pass здесь,
, если вы хотите проверить файл с именем #### и запуском: пройденный, если файл существует, то использовать этот код хотя я думаю, что это не что вы пытались
@echo off
SET /p %pass%="enter password>" REM change this to get it working
IF EXIST %pass%="####" (goto :passed)
EXIT
:passed
echo "it worked"
Если вы хотите также скрыть ввод пароля с *******
вы можете попробовать этот пакетный файл:
@echo off
Title %~n0 by Hackoo 2016
Mode 50,5 & Color 0E
:CreatePassword
cls & Color 0E
setlocal DisableDelayedExpansion
Call :InputPassword "Please choose your password" pass1
Call :InputPassword "Please confirm your password" pass2
setlocal EnableDelayedExpansion
If !pass1!==!pass2! (Goto:Good) Else (Goto:Bad)
::***********************************
:InputPassword
Cls
echo.
echo.
set "psCommand=powershell -Command "$pword = read-host '%1' -AsSecureString ;^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword);^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set %2=%%p
Goto :eof
::***********************************
:Good
Color 0B
Cls
echo.
echo Good password
::TimeOut /T 2 /NoBreak>nul
echo Your password stored as : "!Pass2!" without quotes
pause>nul
Goto :Eof
::***********************************
:Bad
Color 0C
Cls
echo.
echo Wrong password try again
::TimeOut /T 2 /NoBreak>nul
echo Press any key to retry again
pause>nul
Goto :CreatePassword
::***********************************
Удалите котировки и% от переменной в строке 'set/p' и повторите попытку. В будущем научитесь быть более конкретными здесь. * Это не работает * является бесполезным описанием проблемы, если вы не объясните, что означает * не работает *. –
@KenWhite, ничего плохого в том, что у вас есть кавычки. Они являются предпочтительным методом в моей книге лучших практик. – Squashman
Параметр 'EXIST' для команды' IF' предназначен для проверки наличия файла. Это верно в файле HELP. Возможно, вы подумывали использовать опцию 'DEFINED' с командой' IF', но даже это не нужно использовать. Просто удалите 'exist' и используйте два знака равенства в документации по командам' IF'. – Squashman