我想要一个批处理文件,可以注册到自己的用户。类似于:
@echo off
echo Choose an option:
echo 1:Register
echo 2:Login
Set option=
set /p option=Your option:
if %option%==1 goto reg
if %option%==2 goto login
...
:reg
--The registration script--
goto login
...
:login
Set usr=
set /p usr=Username:
if %usr%== goto pass
echo False username!
@pause
goto login
...
:pass
Set passw=
set /p passw=Password:
if %passw%== goto success
echo False password!
@pause
goto login所以..。差不多吧。'if %passw%== "“和if %usr%== ""‘===应该在注册时自动生成。
如果能有超过1000人注册就好了。
发布于 2009-05-27 16:45:05
嗯。这是我通过一些帮助发现的:
@echo off
title REGISTERANDLOGIN
if exist programbase.dll goto login
if not exist programbase.dll goto register
:register
title Register
echo Register
echo.
echo Please fill in the blanks.
echo.
Set usrname=
set /p usrname=Username:
Set passw=
set /p passw=Password:
echo %usrname%>> programdata.dll
echo %passw%>> programbase.dll
goto login
:login
:begin
set usr=
set /p usr=Enter your username:
if {%usr%}=={} goto :begin
set authenticated=
for /f "tokens=*" %%a in (programdata.dll) do (
if {%%a}=={%usr%} set authenticated=true
)
if not defined authenticated (echo Invalid Username & goto :begin)
:passwo
set pass=
set /p pass=Enter your password:
if {%pass%}=={} goto :begin
set authenticated=
for /f "tokens=*" %%a in (programbase.dll) do (
if {%%a}=={%pass%} set authenticated=true
)
if not defined authenticated (echo Invalid password & goto :begin)
:loggedin
cls
echo Welcome.
@pause
exit /b 0发布于 2009-05-24 13:19:43
要测试空字符串,请用引号将两边括起来:
if "%usr%"==""要追加到文本文件,请使用>>
echo %usr%:%pass% >> passwd.txt要循环遍历文件的内容,请使用for /f:
for /f "delims=: tokens=1,2" %%x in (passwd.txt) do (
if "%%x"=="%usr%" then (
set usrfound=true
)
)
if "%usrfound%"=="" then (
rem Register user
) else (
rem Check password and succeed/fail
)在测试或调试期间,请确保echo处于打开状态。如果要在for循环或其他多行语句中设置和测试变量,请将以下代码放在文件开头附近:
setlocal enabledelayedexpansion任何时候你需要读取一个在代码块中可能已经改变的变量,使用!var!而不是%var%。
发布于 2012-10-11 13:37:37
我想知道这是否可行:
@ echo off
goto username
:username
echo Hello, please log in with your user ID or type "reg" to register.
echo Username:
set /p user
if %user%== username(s)here goto password
if %user%==reg goto register
if not defined user (
cls
echo Bad username!
pause
exit
)然后执行程序的其余部分。我会试一试,如果它不工作,告诉我它!
https://stackoverflow.com/questions/903607
复制相似问题