批处理搜索相同字符串问题
===============================================@echooff:2echo.请输入用户名set/pinput_user=n...
===============================================
@echo off
:2
echo. 请输入用户名
set/p input_user=
net user|findstr "%input_user%" &&goto 1||goto 2
:1
echo. 找到用户%input_user% & pause & exit
==================================================
上面程序问题是:只要输入一个用户中包含的字母,就可以跳到:1
我的意思是输入的用户名要与系统中完全相同才跳到:1 展开
@echo off
:2
echo. 请输入用户名
set/p input_user=
net user|findstr "%input_user%" &&goto 1||goto 2
:1
echo. 找到用户%input_user% & pause & exit
==================================================
上面程序问题是:只要输入一个用户中包含的字母,就可以跳到:1
我的意思是输入的用户名要与系统中完全相同才跳到:1 展开
2个回答
展开全部
@echo off
net user|more +4>tmp&set/ptmp=<tmp
for %%i in (%tmp%)do (del tmp 2>nul)&set _%%i="
:2
echo.请输入用户名
set/p input_user=
set _|find/i "_%input_user%=">nul&&goto 1||goto 2
:1
echo.找到用户%input_user% & pause & exit
net user|more +4>tmp&set/ptmp=<tmp
for %%i in (%tmp%)do (del tmp 2>nul)&set _%%i="
:2
echo.请输入用户名
set/p input_user=
set _|find/i "_%input_user%=">nul&&goto 1||goto 2
:1
echo.找到用户%input_user% & pause & exit
追问
程序达到了我要求,麻烦解释下:net user|more +4>tmp&set/ptmp=<tmp
解释得好再给30到50分。谢谢了。
追答
1、net user 会显示出所有的账户:
如:
\\PC-8888的用户账户
------------------------------------------
admin Guest cpop
命令成功完成。
2、通过 |more +4 命令将从上面1内容中,
从admin Guest cpop开始到最后的内容输出到tmp文本中。
3、set/p tmp=<tmp就是将tmp文本的第一行内容(也就是admin Guest cpop)输入变量tmp中,以便后面调用不用反复获取。
LS团友给了点提示:
你试试这个:
@echo off
set /p u=请输入用户名:
net user|(findstr/i /b -c:"%u% ")&&echo 有%u%||(
net user|(findstr/i -c:" %u% ")&&echo 有%u%||echo 没有%u%)
)
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询