Findstr,如何读取字符串/行的一部分

时间:2012-12-17 13:34:55

标签: variables batch-file cmd output findstr

我的文件包含一个名称和扩展名列表,格式如下面各自的格式:

  

JoeBloggs = 102

     

JohnSmith对= 109

我想要做的是使用findstr但是在等号后读取数字。所以我使用以下命令:

@echo off
for /F "delims=" %%a in ('findstr /p %username% extensions.txt') do set ext=%%a

如果用户以JoeBloggs身份登录,它将捕获JoeBloggs=102,我希望它只捕获102。所以基本上只有等号后的数字。

1 个答案:

答案 0 :(得分:3)

@echo off
for /f "tokens=1,2 delims==" %%a in (names.txt) do (
if "%%a"=="%username%" set ext=%%b
)
echo %ext%
pause >nul

这将读取文本文件的每一行,并在遇到=符号时将其拆分。

我已指定使用代币1和2,1在分割之前,2代表之后所以我们可以比较第一个,如果它是你想要的,请使用第二个。