批处理以从txt文件中获取特定的字符串

时间:2019-10-30 08:20:30

标签: windows batch-file cmd text-files

我想设置一个我可以在txt文件中找到的参数。 这是一个特定的字符串,可以在字符“ =”之后的第一行中找到。

示例:description.txt

card=0123456789
status=false

我应该使用字符串“ 0123456789”并设置参数%str%。 我试过了,但是没用:

for /f "tokens=2 delims= " %%a in ('type C:\tmp\description.txt^|find "card="') do (
set str=%%a & goto :continue
)
:continue
echo %str%

pause

如何获得第一行中“ =”之后的文本?

TIA

// khs

2 个答案:

答案 0 :(得分:3)

您应像这样设置"delims=="

@echo off
for /f "tokens=2 delims==" %%a in ('type "C:\tmp\description.txt" ^|findstr /bi "card="') do (
    set "str=%%a" & goto :continue
)
:continue
echo "%str%"
pause

答案 1 :(得分:1)

代码如下:

for /f "tokens=2 delims==" %%a in ('type C:\tmp\description.txt' | find "card"') do echo %%a

肯定需要一个额外的定界符=。否则,它将无法正常工作。