authentication - 要求用户名/密码+注册的批处理文件

标签 authentication batch-file

我想要一个可以将用户注册到自身的批处理文件。 像这样的东西:

@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%== ""and if %usr%== ""' === 它应该在注册时自动生成。

如果能超过1人注册就好了。

最佳答案

要测试空字符串,请在两边加上引号:

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
)

在测试或调试期间,确保回声打开。如果您想在 for 循环或其他多行语句中设置和测试变量,请将其放在文件开头附近:

setlocal enabledelayedexpansion

任何时候你需要读取一个可能在 block 内改变的变量,使用 !var!而不是 %var%。

关于authentication - 要求用户名/密码+注册的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/903607/

相关文章:

windows - FFMPEG - 批量提取媒体持续时间并写入文本文件

windows - 启动 SQLPLUS,它要求输入密码,执行脚本,获取参数并退出,脚本中不包含 "exit"

sql - 通过运行批处理文件来执行 SQL 文件

windows - 如果 Windows 中不存在目录,则使用 for 循环和列表创建目录

batch-file - 将多个脚本打包到一个 .cmd 文件中

php - 将 cookie 设置到特定域

ios - 使用 shouldPerformSegueWithIdentifier 时,必须点击按钮两次才能进入下一个 View

authentication - 在需要身份验证的代理后面使用 ELPA (Emacs)

security - actions-on-google 中用于 Dialogflow 身份验证的用户身份的可靠性

Apache 基本身份验证(允许的除外)