查找字符串然后将其设置为变量

时间:2015-10-18 22:21:45

标签: variables batch-file

我正在处理一个需要来自带有FINDSTR的文本文件的密码的大批量项目。

@echo off
title Login Service 
CD c:\
findstr "}--Account1--{ Password" }Properties{.txt
SET ::outcome of findstr

注意

}--Account1--{
//Account1 Name = Joe Password = Any
}--Account2--{
//Account2 Name = Password =
}--Defaults--{
ConsoleColor =
那是什么}属性{.txt看起来像。
所以,如果我这样做 findstr "}--Account1--{ Password" }Properties{.txt然后我得到

  

// Account1 Name = Joe Password = Any

     

// Account2 Name = Password =

理想情况下,我想找到一种方法让findstr只显示第一行字符串,以防止错误

结束注释

我停在那里。

那么,我可以从FINDSTR的输入中设置变量吗? 注意:我希望变量仅在=之后包含字符串,或者在Account1中仅包含ANY

感谢您的时间和合作。

:)

1 个答案:

答案 0 :(得分:1)

这是我尝试过的。它可能会给你一些想法...

我的输入文件test.txt包含:

user=hello password=world
user=me password=you
user= password=

批处理文件是:

@echo off
findstr "user" test.txt > tmp.txt
set /p out1=<tmp.txt
for /f "tokens=3 delims=^=" %%a in ("%out1%") do (
  set v=%%a
) 
echo %v%

根据我的测试,它会将world显示为变量v的内容。