[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 怎么用bat模拟登陆注册用户

本帖最后由 ANSL 于 2022-3-31 20:44 编辑

登录时需要填写用户名和密码一共有三次机会用完了就退出,内置一个管理员用户可以添加或删除用户,更改用户密码什么的管理员也要有密码密码可以自己设置
每回进来都得输入用户名和密码登录
最多支持1000用户
2个管理员
20个来宾
用户等级:
管理员(最高权限)
用户(常规操作)
来宾(没有密码,权限最低)
求哪位大佬能实现以上功能!(我感觉这东西不可能实现)
实在不行用第三方也可以!

0.4
  1. @echo off
  2. title 模拟登录注册用户
  3. echo 加载...
  4. if not exist "Data" goto ce
  5. set ci=100
  6. cls
  7. :back
  8. title 登入
  9. cls
  10. :backcls
  11. echo 登入
  12. echo 输入用户名
  13. set /p name=
  14. if "%name%"=="" goto back
  15. cls
  16. :fanc
  17. set cuo=100
  18. set namespassword=no
  19. :next
  20. for /f "delims=" %%i in (Data\User%name%Control.ini) do set control=%%i
  21. if "%control%"=="Guide " goto start
  22. for /f "delims=" %%i in (Data\User%name%Password.ini) do set namespassword=%%i
  23. if "%cuo%"=="103" goto er
  24. cls
  25. echo 密码:
  26. set /p password=
  27. if "%namespassword%"=="" goto er
  28. if "%password%"=="%namespassword%" goto start
  29. set /a cuo=%cuo%+1
  30. goto next
  31. :er
  32. cls
  33. echo 用户名或密码错误。
  34. pause
  35. exit
  36. :start
  37. title 主界面
  38. cls
  39. echo 模拟登录注册用户
  40. echo 1. 1.txt
  41. echo 2.管理用户(目前只支持创建)
  42. echo 3.重置
  43. echo 4.新增功能与已知问题
  44. echo v.0.4 模拟登录注册用户
  45. set /p choose=
  46. goto jianquan
  47. :jianquan
  48. cls
  49. if "%choose%"=="1" goto c
  50. if "%choose%"=="2" goto cuser
  51. if "%choose%"=="3" goto r
  52. if "%choose%"=="4" goto q
  53. goto start
  54. :q
  55. title 新增功能与已知问题
  56. cls
  57. echo ----------2022/04/15----------v.0.1
  58. echo 基本服务。
  59. echo ----------2022/04/16----------v.0.2
  60. echo 重构用户存储方式。
  61. echo 支持创建用户。
  62. echo bug修复
  63. echo ----------2022/04/18----------v.0.3
  64. echo 支持删除用户
  65. echo ----------2022/04/26----------v.0.4
  66. echo
  67. echo 删除"删除用户"
  68. echo ---------------------------------
  69. pause
  70. goto start
  71. :r
  72. title Reset
  73. if not "%control%"=="Admin" goto start
  74. cls
  75. echo Sure?
  76. echo pause any key to reset.
  77. pause
  78. rd /s /q Data
  79. exit
  80. :c
  81. cls
  82. if "%control%"=="Admin" start Data\1.txt
  83. if "%control%"=="User" copy Data\1.txt Data\cache.txt
  84. if "%control%"=="User" echo 你输入的更改将不会保存。>>Data\cache.txt
  85. if "%control%"=="User" start Data\cache.txt
  86. if not "%control%"=="Guide " goto start
  87. for /f "delims=" %%i in (Data\1.txt) do set text=%%i
  88. cls
  89. echo %text%
  90. pause
  91. del /s /q Data\cache.txt
  92. goto start
  93. :ce
  94. cls
  95. md Data
  96. set uad=y
  97. set control=Admin
  98. :cuser
  99. title 创建用户
  100. if not "%control%"=="Admin" goto start
  101. if "%uad%"=="y" set qx=管理员
  102. if "%uad%"=="y" goto cusers
  103. cls
  104. echo 创建用户
  105. echo 权限:
  106. echo 1.管理员
  107. echo 2.用户
  108. echo 3.来宾
  109. set /p num=
  110. if "%num%"=="1" set qx=管理员
  111. if "%num%"=="1" goto cusers
  112. if "%num%"=="2" set qx=用户
  113. if "%num%"=="2" goto cusers
  114. if "%num%"=="3" set qx=来宾
  115. if "%num%"=="3" goto cusers
  116. goto cuser
  117. :cusers
  118. cls
  119. echo 创建一个%qx%用户
  120. echo 用户名:
  121. set /p o=
  122. if "%o%"=="" goto cusers
  123. echo %o%>>Data\User.ini
  124. if "%qx%"=="管理员" echo Admin>Data\User%o%Control.ini
  125. if "%qx%"=="用户" echo User>Data\User%o%Control.ini
  126. if "%qx%"=="来宾" echo Guide>Data\User%o%Control.ini & goto cuserw
  127. :cuserp
  128. cls
  129. echo 创建%o%用户的密码
  130. set /p pass=
  131. if "%pass%"=="" goto cuserp
  132. echo %pass%>Data\User%o%Password.ini
  133. :cuserw
  134. cls
  135. echo 恭喜!
  136. if "%uad%"=="y" (echo 初始化已完成。) else (echo 用户操作已完成。)
  137. echo 重新启动以应用。
  138. pause
  139. exit
复制代码

TOP

回复 15# ANSL


    有,更新比较慢

TOP

本帖最后由 ANSL 于 2022-4-18 14:27 编辑

回复 14# Zhou.还有下个版本吗?

TOP

回复 13# Zhou.


    我差点把echo 写成 cout << "用户创建已完成" << endl; 了

TOP

最近在学C++ 可能更新比较慢
上个版本的文件可以直接使用
  1. @echo off
  2. title 模拟用户登录
  3. echo 加载...
  4. if not exist "Data" goto ce
  5. set ci=100
  6. cls
  7. :back
  8. title 登入
  9. cls
  10. :backcls
  11. echo 登入
  12. echo 输入用户名
  13. set /p name=
  14. if "%name%"=="" goto back
  15. cls
  16. findstr "%name%" Data\s.ini
  17. if not %errorlevel% equ 0 goto fanc
  18. findstr "%name%" Data\User.ini
  19. if %errorlevel% equ 0 goto fanc
  20. goto back
  21. :fanc
  22. set cuo=100
  23. set namespassword=no
  24. :next
  25. for /f "delims=" %%i in (Data\User%name%Control.ini) do set control=%%i
  26. if "%control%"=="Guide " goto start
  27. for /f "delims=" %%i in (Data\User%name%Password.ini) do set namespassword=%%i
  28. if "%cuo%"=="103" goto er
  29. cls
  30. echo 密码:
  31. set /p password=
  32. if "%namespassword%"=="" goto er
  33. if "%password%"=="%namespassword%" goto start
  34. set /a cuo=%cuo%+1
  35. goto next
  36. :er
  37. cls
  38. echo 用户名或密码错误。
  39. pause
  40. exit
  41. :start
  42. title 主界面
  43. cls
  44. echo 模拟登录注册用户
  45. echo 1. 1.txt
  46. echo 2.管理用户(目前只支持创建)
  47. echo 3.重置
  48. echo 4.新增功能与已知问题
  49. echo 5.删除用户
  50. echo v.0.3 模拟登录注册用户
  51. set /p choose=
  52. goto jianquan
  53. :jianquan
  54. cls
  55. if "%choose%"=="1" goto c
  56. if "%choose%"=="2" goto cuser
  57. if "%choose%"=="3" goto r
  58. if "%choose%"=="4" goto q
  59. if "%choose%"=="5" goto scuser
  60. goto start
  61. :scuser
  62. if not "%control%"=="Admin" goto start
  63. cls
  64. echo 删除用户Preview
  65. echo 你要删除什么用户?
  66. echo tips:删除的用户信息会保留
  67. echo 且长时间内可再次登录
  68. set /p suser=
  69. if "%suser%"=="" goto start
  70. echo %suser%>>Data\s.ini
  71. goto cuserw
  72. :q
  73. title 新增功能与已知问题
  74. cls
  75. echo ----------2022/04/15----------v.0.1
  76. echo 基本服务。
  77. echo ----------2022/04/16----------v.0.2
  78. echo 重构用户存储方式。
  79. echo 支持创建用户。
  80. echo bug修复
  81. echo ----------2022/04/18----------v.0.3
  82. echo 支持删除用户
  83. echo ------预计:2022/04/20-------v.0.4
  84. echo
  85. pause
  86. goto start
  87. :r
  88. if not "%control%"=="Admin" goto start
  89. cls
  90. echo 确定吗?
  91. echo 任意键重置.
  92. pause
  93. rd /s /q Data
  94. exit
  95. :c
  96. cls
  97. if "%control%"=="Admin" start Data\1.txt
  98. if "%control%"=="User" copy Data\1.txt Data\cache.txt
  99. if "%control%"=="User" echo 你输入的更改将不会保存。>>Data\cache.txt
  100. if "%control%"=="User" start Data\cache.txt
  101. if not "%control%"=="Guide " goto start
  102. for /f "delims=" %%i in (Data\1.txt) do set text=%%i
  103. cls
  104. echo %text%
  105. pause
  106. del /s /q Data\cache.txt
  107. goto start
  108. :ce
  109. cls
  110. md Data
  111. echo Admin>Data\User.ini
  112. echo Admin>Data\UserAdminControl.ini
  113. echo ---->Data\1.txt
  114. echo password>Data\UserAdminPassword.ini
  115. cls
  116. echo 默认管理员为Admin
  117. echo 密码password
  118. echo 任意键代表您已经阅读密码。
  119. pause>nul
  120. goto back
  121. :cuser
  122. title 创建用户
  123. if not "%control%"=="Admin" goto start
  124. cls
  125. echo 创建用户
  126. echo 权限:
  127. echo 1.管理员
  128. echo 2.用户
  129. echo 3.来宾
  130. set /p num=
  131. if "%num%"=="1" set qx=管理员
  132. if "%num%"=="1" goto cusers
  133. if "%num%"=="2" set qx=用户
  134. if "%num%"=="2" goto cusers
  135. if "%num%"=="3" set qx=来宾
  136. if "%num%"=="3" goto cusers
  137. goto cuser
  138. :cusers
  139. cls
  140. echo 创建一个%qx%用户
  141. echo 用户名:
  142. set /p o=
  143. if "%o%"=="" goto cusers
  144. echo %o%>>Data\User.ini
  145. if "%qx%"=="管理员" echo Admin>Data\User%o%Control.ini
  146. if "%qx%"=="用户" echo User>Data\User%o%Control.ini
  147. if "%qx%"=="来宾" echo Guide>Data\User%o%Control.ini & goto cuserw
  148. :cuserp
  149. cls
  150. echo 创建%o%用户的密码
  151. set /p pass=
  152. if "%pass%"=="" goto cuserp
  153. echo %pass%>Data\User%o%Password.ini
  154. :cuserw
  155. cls
  156. echo 恭喜!
  157. echo 用户操作已完成。
  158. echo 重新启动以应用。
  159. pause
  160. exit
复制代码

TOP

回复 10# ANSL

新增了创建用户
下个版本新增更改用户名
  1. @echo off
  2. title 模拟用户登录
  3. echo 加载...
  4. if not exist "Data" goto ce
  5. set ci=100
  6. cls
  7. :back
  8. title 登入
  9. cls
  10. :backcls
  11. echo 登入
  12. echo 输入用户名
  13. set /p name=
  14. if "%name%"=="" goto back
  15. cls
  16. findstr "%name%" Data\User.ini
  17. if %errorlevel% equ 0 goto fanc
  18. goto back
  19. :fanc
  20. set cuo=100
  21. set namespassword=no
  22. :next
  23. for /f "delims=" %%i in (Data\User%name%Control.ini) do set control=%%i
  24. if "%control%"=="Guide " goto start
  25. for /f "delims=" %%i in (Data\User%name%Password.ini) do set namespassword=%%i
  26. if "%cuo%"=="103" goto er
  27. cls
  28. echo 密码:
  29. set /p password=
  30. if "%namespassword%"=="" goto er
  31. if "%password%"=="%namespassword%" goto start
  32. set /a cuo=%cuo%+1
  33. goto next
  34. :er
  35. cls
  36. echo 用户名或密码错误。
  37. pause
  38. exit
  39. :start
  40. title 主界面
  41. cls
  42. echo 主界面
  43. echo 1. 1.txt
  44. echo 2.管理用户(目前只支持创建)
  45. echo 3.重置
  46. echo 4.新增功能与已知问题
  47. echo v.0.2 模拟登录注册用户
  48. set /p choose=
  49. goto jianquan
  50. :jianquan
  51. cls
  52. if "%choose%"=="1" goto c
  53. if "%choose%"=="2" goto cuser
  54. if "%choose%"=="3" goto r
  55. if "%choose%"=="4" goto q
  56. goto start
  57. :q
  58. title 新增功能与已知问题
  59. cls
  60. echo ----------2022/04/15----------v.0.1
  61. echo 基本服务。
  62. echo ----------2022/04/16----------v.0.2
  63. echo 重构用户存储方式。
  64. echo 支持创建用户。
  65. echo bug修复
  66. echo ------------------------------
  67. pause
  68. goto start
  69. :r
  70. if not "%control%"=="Admin" goto start
  71. cls
  72. echo 确定吗?
  73. echo 任意键重置.
  74. pause
  75. rd /s /q Data
  76. exit
  77. :c
  78. cls
  79. if "%control%"=="Admin" start Data\1.txt
  80. if "%control%"=="User" copy Data\1.txt Data\cache.txt
  81. if "%control%"=="User" echo 你输入的更改将不会保存。>>Data\cache.txt
  82. if "%control%"=="User" start Data\cache.txt
  83. if not "%control%"=="Guide " goto start
  84. for /f "delims=" %%i in (Data\1.txt) do set text=%%i
  85. cls
  86. echo %text%
  87. pause
  88. del /s /q Data\cache.txt
  89. goto start
  90. :ce
  91. cls
  92. md Data
  93. echo Admin>Data\User.ini
  94. echo Admin>Data\UserAdminControl.ini
  95. echo ---->Data\1.txt
  96. echo password>Data\UserAdminPassword.ini
  97. cls
  98. echo 默认管理员为Admin
  99. echo 密码password
  100. echo 任意键代表您已经阅读密码。
  101. pause>nul
  102. goto back
  103. :cuser
  104. title 创建用户
  105. if not "%control%"=="Admin" goto start
  106. cls
  107. echo 创建用户
  108. echo 权限:
  109. echo 1.管理员
  110. echo 2.用户
  111. echo 3.来宾
  112. set /p num=
  113. if "%num%"=="1" set qx=管理员
  114. if "%num%"=="1" goto cusers
  115. if "%num%"=="2" set qx=用户
  116. if "%num%"=="2" goto cusers
  117. if "%num%"=="3" set qx=来宾
  118. if "%num%"=="3" goto cusers
  119. goto cuser
  120. :cusers
  121. cls
  122. echo 创建一个%qx%用户
  123. echo 用户名:
  124. set /p o=
  125. if "%o%"=="" goto cusers
  126. echo %o%>>Data\User.ini
  127. if "%qx%"=="管理员" echo Admin>Data\User%o%Control.ini
  128. if "%qx%"=="用户" echo User>Data\User%o%Control.ini
  129. if "%qx%"=="来宾" echo Guide>Data\User%o%Control.ini & goto cuserw
  130. :cuserp
  131. cls
  132. echo 创建%o%用户的密码
  133. set /p pass=
  134. if "%pass%"=="" goto cuserp
  135. echo %pass%>Data\User%o%Password.ini
  136. :cuserw
  137. cls
  138. echo 恭喜!
  139. echo 用户创建已完成。
  140. echo 重新启动以应用。
  141. pause
  142. exit
复制代码
1

评分人数

    • ANSL: 厉害!技术 + 1

TOP

回复 10# ANSL


    好的我知道了 下个版本修复

TOP

回复 9# Zhou.
还是不行啊,但是能看见一点进度就来回在清屏

TOP

本帖最后由 Zhou. 于 2022-4-16 12:06 编辑

回复 8# ANSL


    好的我看看 bug已修复 把26行的 cls 删除

TOP

本帖最后由 ANSL 于 2022-4-15 15:08 编辑

回复 7# Zhou.
可以,继续开发吧!
谢谢大神!
还有一个Bug查询用户的时候不能看见进度但是源码里有进度代码呀?
Bug如下:

TOP

回复 5# ANSL

你如果想要的话,我继续开发管理用户模块
另存为ANSI编码
  1. @echo off
  2. title 模拟用户登录
  3. echo 加载...
  4. if not exist "Data" goto ce
  5. set ci=100
  6. cls
  7. :back
  8. title 登入
  9. cls
  10. :backcls
  11. echo 登入
  12. echo 输入用户名
  13. echo 默认管理员为Admin
  14. set /p name=
  15. if "%name%"=="" goto back
  16. cls
  17. set ci=99
  18. :fanc
  19. cls
  20. echo 读取中...%ci%/1100
  21. set /a ci=%ci%+1
  22. for /f "delims=" %%i in (Data\user%ci%) do set names=%%i
  23. for /f "delims=" %%i in (Data\%names%\usercontrol) do set control=%%i
  24. set cuo=100
  25. if "%name%"=="%names%" goto next
  26. cls
  27. if "%ci%"=="1100" echo 查无此人 & goto backcls
  28. goto fanc
  29. :next
  30. for /f "delims=" %%i in (Data\%names%\password) do set namespassword=%%i
  31. cls
  32. if "%control%"=="Admin" echo 管理员%names%,您好!
  33. if "%control%"=="User" echo 用户%names%,您好!
  34. if "%control%"=="Guide" echo 来宾%names%,您好!
  35. if "%cuo%"=="103" exit
  36. echo 密码:
  37. echo 默认管理员密码password
  38. set /p password=
  39. if "%password%"=="%namespassword%" goto start
  40. set /a cuo=%cuo%+1
  41. goto next
  42. :start
  43. title 主界面
  44. cls
  45. echo 主界面
  46. echo 1. 1.txt
  47. echo 2.管理用户
  48. echo 3.重置
  49. set /p choose=
  50. goto jianquan
  51. :jianquan
  52. cls
  53. if "%choose%"=="1" goto c
  54. if "%choose%"=="2" goto start
  55. if "%choose%"=="3" goto r
  56. goto start
  57. :r
  58. if not "%control%"=="Admin" goto start
  59. cls
  60. echo 确定吗?
  61. echo 任意键重置.
  62. pause
  63. rd /s /q Data
  64. exit
  65. :c
  66. cls
  67. if "%control%"=="Admin" start Data\1.txt
  68. if "%control%"=="User" copy Data\1.txt Data\cache.txt
  69. if "%control%"=="User" echo 你输入的更改将不会保存。>Data\cache.txt
  70. if "%control%"=="User" start Data\cache.txt
  71. if "%control%"=="Guide" for /f "delims=" %%i in (Data\1.txt) do set nc=%%i
  72. cls
  73. if "%control%"=="Guide" echo %nc%
  74. pause
  75. del /s /q Data\cache.txt
  76. goto start
  77. :ce
  78. cls
  79. md Data
  80. md Data\Admin
  81. echo Admin>Data\user100
  82. echo Admin>Data\Admin\usercontrol
  83. echo ---->Data\1.txt
  84. echo password>Data\Admin\password
  85. goto back
复制代码
1

评分人数

    • ANSL: 厉害!太厉害了!技术 + 1

TOP

回复 5# ANSL


    我试试

TOP

本帖最后由 ANSL 于 2022-4-15 08:28 编辑

回复 4# Zhou.

可以试试
登录时输入用户名和密码
自动判断是什么用户等级

TOP

回复 3# ANSL


    可以是可以实现,就是比较烦

TOP

返回列表