联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
It can mask the typed input for simple password security.
: by Herbert Kleebauer :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @echo off echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com set /p password=Enter password:<nul for /f "tokens=*" %%i in ('in.com') do set password=%%i pause del in.com echo. echo The Password is:"%password%" pause
@echo off && setlocal && cls chcp 437 >nul graftabl 936 >nul :C echo exit|cmd/kprompt $_e 100 CD 16 B4 4C CD 21$_g$_|debug>nul if [%errorlevel%]==[13] ( goto :A ) else ( goto :B ) :A :: 按回车符到这里执行 set psd=123 if not %psd%==%s% ( echo. echo 密码错误!请重新输入。 set s= goto :C ) else ( echo. echo 密码正确! goto :D ) :B set /a d=%errorlevel%-48>nul set s=%s%%d% set /p a=*<nul goto :C :D pause
Originally posted by mgq at 2008-10-2 04:16 PM: 顶 但如果输入密码时输错了,就得重新输入,因为不能退格和删除.
Originally posted by mgq at 2008-10-3 10:40 AM: 不明白,请楼上的写出代码.
@echo off && setlocal && cls chcp 437 >nul graftabl 936 >nul :C echo exit|cmd/kprompt $_e 100 CD 16 B4 4C CD 21$_g$_|debug>nul if [%errorlevel%]==[13] ( goto :A ) else ( goto :B ) :A :: 按回车符到这里执行 set psd=123 if not %psd%==%s% ( echo. echo 密码错误!请重新输入。 set s= goto :C ) else ( echo. echo 密码正确! goto :D ) :B set /a d=%errorlevel%-48>nul if %d%==-40 ( if [%s%]==[] (goto :C) else ( set /p d=<nul set /p d= <nul set /p d=<nul set s=%s:~0,-1% goto :C ) ) set s=%s%%d% set /p a=*<nul goto :C :D pause