如何让Bat文件找到一个字符串并确认其存在?

时间:2014-01-22 17:46:15

标签: batch-file

if %c%==Yes (
set /p in= Enter user and password:
findstr /m %in% accounts.txt     )
if %in% =0 (
echo There is no account!
)
if %in% =1 (
echo account %in% Found!
)

这可以找到一个字符串/变量吗?

%= 1中的%可能无效。 我只想要一个用于在文档中查找文本的命令。

2 个答案:

答案 0 :(得分:1)

通常,您可以使用findstr在文件中查找字符串。然后,您需要检查%errorlevel%变量的值,以查看是否找到了字符串。  如果上一个命令成功运行,则%errorlevel%设置为0,否则为0。 我假设:    %c%是您的脚本变量,    用户名和密码占用文件中的整行。

@echo off

set c=Yes
set error=1

if "%c%" NEQ "Yes" goto end

set /p in=Enter user and password separated by space: 
findstr /L /X /C:"%in%" accounts.txt > nul

if "%errorlevel%"=="0" (
    echo Account %in% Found!
) else (
    echo There is no account!
)

:end

答案 1 :(得分:0)

另一种方式:

@echo off&cls
setlocal EnableDelayedExpansion
set $sw=0
set /p User=Enter username : 
set /p Pwd=Enter Password : 

for %%a in (%user% %pwd%) do findstr /i "%%a" accounts.txt && set /a $sw+=1
if !$sw! Equ 2 (echo pass and username OK) else (echo KO)