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

[系统相关] 批处理原创发布:集成的win系统用户和用户组管理系统

  1. @echo off&setlocal enabledelayedexpansion
  2. :main
  3. title 计算机用户控制系统&color 0a&mode con cols=80 lines=30
  4. cls
  5. echo,
  6. echo,
  7. echo,
  8. echo,
  9. echo                             请选择你需要的功能
  10. echo================================================================================
  11. echo,
  12. echo                         1.查询计算机当前所有用户           
  13. echo                         2.为计算机添加用户
  14. echo                         3.删除计算机用户
  15. echo                         4.更改用户密码
  16. echo                         5.删除用户密码
  17. echo                         6.查看当前用户组
  18. echo                         7.为计算机添加用户组
  19. echo                         8.删除计算机用户组
  20. echo                         9.更改用户的用户组
  21. echo                         10.退出请按q
  22. echo,
  23. echo                                                      本程序任意处空格返回主菜单
  24. echo ===============================================================================
  25. echo                                                               --jakorzhang 制作
  26. goto start
  27. :ushd
  28. cls
  29. echo,
  30. echo,
  31. echo ===============================================================================
  32. echo 当前的用户有:
  33. net user
  34. echo,
  35. echo                                                      本程序任意处空格返回主菜单
  36. echo ===============================================================================
  37. echo,
  38. goto :eof
  39. :lghd
  40. cls
  41. echo,
  42. echo,
  43. echo ===============================================================================
  44. echo 当前的用户组有:
  45. net localgroup
  46. echo,
  47. echo                                                      本程序任意处空格返回主菜单
  48. echo ===============================================================================
  49. echo,
  50. goto :eof
  51. :9hd
  52. cls
  53. echo,
  54. echo ===============================================================================
  55. echo 当前的用户有:
  56. net user
  57. echo ===============================================================================
  58. echo 当前的用户组有:
  59. net localgroup
  60. echo,
  61. echo                                                      本程序任意处空格返回主菜单
  62. echo ===============================================================================
  63. echo,
  64. echo,
  65. goto :eof
  66. :scd
  67. set /p choice=您好!操作成功!是否再次操作该功能?(y/n)
  68. if "%choice%"=="y" (
  69. goto %now%
  70. ) else (
  71. goto main
  72. )
  73. goto :eof
  74. :rt
  75. if "%name%"==" " goto main
  76. goto :eof
  77. :start
  78. set /p choice=请选择功能:
  79. if "%choice%"=="1" goto 1
  80. if "%choice%"=="2" goto 2
  81. if "%choice%"=="3" goto 3
  82. if "%choice%"=="4" goto 4
  83. if "%choice%"=="5" goto 5
  84. if "%choice%"=="6" goto 6
  85. if "%choice%"=="7" goto 7
  86. if "%choice%"=="8" goto 8
  87. if "%choice%"=="9" goto 9
  88. if "%choice%"=="q" (
  89. goto 10
  90. ) else (
  91. goto main
  92. )
  93. :1
  94. set now=1
  95. call :ushd
  96. echo 任意键返回主菜单&pause>nul
  97. goto main
  98. :2
  99. set now=2
  100. call :ushd
  101. set /p name=请输入将要添加的用户名:
  102. call :rt
  103. :sp
  104. set /p pw=请设定该用户的最新密码(回车将不设置密码):
  105. if "%pw%"==" " goto main
  106. set /p rpw=请确认该用户的最新密码(回车跳过):
  107. if "%rpw%"==" " goto main
  108. if "%pw%"=="%rpw%" (
  109. echo 验证成功!正在执行...
  110. goto %now%cmd
  111. ) else (
  112. echo 密码输入不一致请重新输入!&pause>nul
  113. goto sp
  114. )
  115. goto :eof
  116. :2cmd
  117. net user %name% %pw% /add>nul
  118. if errorlevel 2 (
  119. set /p name=该用户已存在,请查实后重新输入!:
  120. call :rt
  121. goto 2cmd
  122. )
  123. if errorlevel 1 (
  124. set /p name=请输入正确格式的用户名,以数字和字母为内容!:
  125. call :rt
  126. goto 2cmd
  127. ) else (
  128. call :scd
  129. )
  130. pause
  131. :3
  132. set now=3
  133. call :ushd
  134. echo,
  135. set /p name=请输入要删除的用户名:
  136. call :rt
  137. :3cmd
  138. net user %name% /del>nul
  139. if errorlevel 2 (
  140. set /p name=该用户不存在或者无法删除用户请重新输入:
  141. call :rt
  142. goto 3cmd
  143. )
  144. if errorlevel 1 (
  145. set /p name=输入有错误,请重新输入:
  146. call :rt
  147. goto 3cmd
  148. ) else (
  149. call :scd
  150. )
  151. :4
  152. set now=4
  153. call :ushd
  154. set /p name=请输入需要修改密码的用户:
  155. call :rt
  156. call :sp
  157. :4cmd
  158. net user %name% %pw% >nul
  159. if errorlevel 1 (
  160. set /p name=用户名输入错误请重新输入!密码默认为刚才输入内容:
  161. call :rt
  162. goto 4cmd
  163. ) else (
  164. call :scd
  165. )
  166. :5
  167. set now=5
  168. call :ushd
  169. set /p name=请输入要删除密码的用户名:
  170. call :rt
  171. :5cmd
  172. echo,&echo,|net user %name% *>nul
  173. if errorlevel 1 (
  174. set /p name=用户名错误,请重新输入:
  175. call :rt
  176. goto 5cmd
  177. ) else (
  178. call :scd
  179. )
  180. :6
  181. call :lghd
  182. echo 任意键返回主菜单&pause>nul
  183. goto main
  184. :7
  185. set now=7
  186. call :lghd
  187. set /p name=请输入将要添加的用户组名:
  188. call :rt
  189. :7cmd
  190. net localgroup %name% /add>nul
  191. if errorlevel 2 (
  192. set /p name=该用户组已存在,请查实后重新输入!:
  193. call :rt
  194. goto 7cmd
  195. )
  196. if errorlevel 1 (
  197. set /p name=请输入正确格式的用户组名,以数字和字母为内容!:
  198. call :rt
  199. goto 7cmd
  200. ) else (
  201. call :scd
  202. )
  203. :8
  204. set now=8
  205. call :lghd
  206. echo,
  207. set /p name=请输入要删除的用户组名:
  208. call :rt
  209. :8cmd
  210. net localgroup %name% /del>nul
  211. if errorlevel 2 (
  212. set /p name=该用户组不存在或者无法删除用户组请重新输入:
  213. cal :rt
  214. goto 8cmd
  215. )
  216. if errorlevel 1 (
  217. set /p name=输入有错误,请重新输入:
  218. call :rt
  219. goto 8cmd
  220. ) else (
  221. call :scd
  222. )
  223. @echo off
  224. :92cmd
  225. net localgroup %group% %name% /del
  226. goto check
  227. goto :eof
  228. :scd
  229. set /p choice=您好!操作成功!是否再次操作该功能?(y/n)
  230. if "%choice%"=="y" (
  231. goto %now%
  232. ) else (
  233. goto main
  234. )
  235. goto :eof
  236. :9
  237. set now=9&mode con cols=80 lines=60
  238. call :9hd
  239. echo                        1.添加用户到组
  240. echo                        2.删除用户所在组
  241. set /p choice=请选择:
  242. if "%choice%"==" " goto main
  243. if "%choice%"=="1" goto 91
  244. if "%choice%"=="2" (
  245. goto 92
  246. ) else (
  247. echo 输入错误请重新输入!&pause>nul
  248. goto 9
  249. )
  250. :91
  251. set /p name=请输入想要更改的用户名:
  252. if "%name%"==" " goto main
  253. set /p group=请输入想要更改的组:
  254. if "%group%"==" " goto main
  255. :91cmd
  256. net localgroup %group% %name% /add
  257. if errorlevel 2 (
  258. set /p group=输入的组名称错误或该用户已经存在于该组,请重新检查输入:
  259. if "%group%"==" " goto main
  260. goto 91cmd
  261. )
  262. if errorlevel 1 (
  263. set /p name=用户名输入错误,或已有该用户。请重新检查输入:
  264. call :rt
  265. goto 91cmd
  266. ) else (
  267. call :scd
  268. )
  269. :92
  270. set /p name=请输入想要更改的用户名:
  271. if "%name%"==" " goto main
  272. set /p group=请输入想要更改的组:
  273. if "%group%"==" " goto main
  274. :92cmd
  275. net localgroup %group% %name% /del
  276. if errorlevel 2 (
  277. set /p group=输入的组名称错误或该用户已经存在于该组,请重新检查输入:
  278. if "%group%"==" " goto main
  279. goto 92cmd
  280. )
  281. if errorlevel 1 (
  282. set /p name=用户名输入错误,或已有该用户。请重新检查输入:
  283. call :rt
  284. goto 92cmd
  285. ) else (
  286. call :scd
  287. )
  288. :10
  289. exit
复制代码
看别人的帖子!广集思路!

回复 6# forfiles
明白了 第一次写 没注意格式 谢谢指导
看别人的帖子!广集思路!

TOP

回复 5# jakorzhang


    不要把所有的代码都顶格写,留点空格。

TOP

回复 4# forfiles
少尉 没明白您的意思。。。
看别人的帖子!广集思路!

TOP

建议使用缩进,比如:
  1. :scd
  2. set /p choice=您好!操作成功!是否再次操作该功能?(y/n)
  3. if "%choice%"=="y" (
  4.     goto %now%
  5. ) else (
  6.     goto main
  7. )
  8. goto :eof
复制代码

TOP

回复 2# forfiles
少尉 我代码上传不上去啊 是权限问题还是个人pc问题啊 请允许我排查一下,晌午之前修改好。
看别人的帖子!广集思路!

TOP

代码在哪里?

TOP

返回列表