批处理 - 搜索文件中的精确行

时间:2013-08-24 16:36:33

标签: variables search for-loop batch-file

我有一个很长的游戏配置,我想作为批处理屏幕进行概述。
我想做的是,批处理脚本查看指定的行,然后选择一个信息。
例如:

  

税率:15
  管理费率:20
  Mod Rate:18

我希望脚本在13位(Admin Rate :)后面的第2行查看,并将outut设置为变量。 如

  

for / f in delim = 2; 13 in('config.yml')do set adminrate


所以最后我可以清楚地输出所有的配置。

  

回复管理员费率:%adminrate%

2 个答案:

答案 0 :(得分:2)

试试这个:

for /f "tokens=3delims=: " %%a in ('findstr /c:"Admin Rate" "config.yml"') do set "adminrate=%%a"
echo(%adminrate%

答案 1 :(得分:1)

这只是选择第二行,如果需要的话。

编辑返回整行。

@echo off
for /f "tokens=1,* delims=]" %%a in ('find /n /v "" ^< "config.txt" ^| findstr "^\[2\]" ') do set "variable=%%b"
echo "%variable%"
pause

请注意,如果所选行以]字符开头,那么它们将从字符串中删除。