我正在尝试创建一个删除用户的脚本。我想检查输入的用户是否存在,这样我就可以说它已删除或该用户不存在。
我已经尝试了一些我以前在网上找到的东西,但都不起作用。这就是我到目前为止所拥有的。
:DelUser
cls
echo You chose to delete a user
echo ==========================
net user
echo ==========================
set UserDel=What is the name of the user you want to delete?
echo deleting user %UserDel%.....
net user | find /i %UserDel% || goto UserNoExist
net user %UserDel% /delete
echo User %UserDel% is deleted
goto Users
:UserNoExist
echo This user does not exist
pause
goto DelUser发布于 2019-10-29 20:33:59
1)可以使用net user命令的退出码。如果用户存在,则返回0。%ERRORLEVEL%变量将具有退出代码。
2)为了在命令提示符中获得输入,您应该在/p中使用SET命令。
set /p UserDel=What is the name of the user you want to delete?所以你的代码应该是这样的:
set /p UserDel=What is the name of the user you want to delete?
net user %UserDel%
if %ERRORLEVEL% EQU 0 (
net user %UserDel% /delete
echo User %UserDel% is deleted
) else (
echo This user does not exist
)发布于 2019-10-29 20:40:25
也许只有这个?
@echo off & set drop=
set /p "_usern=Enter user to delete: "
for /f "tokens=1" %%i in ('net user ^| find /i "%_usern%"') do set "drop=%%i"
if defined drop (net user %drop% /delete) else (echo %_usern% does not exist)另一种方法是首先获取用户列表,然后从列表中选择一个用户,这意味着他/她显然是存在的:
@echo off
@for /f "skip=4tokens=1" %i in ('net user') do @echo %I
set /p "_usern=Select user from list to delete: "
net user %_usern% /deletehttps://stackoverflow.com/questions/58607192
复制相似问题