使用批处理脚本搜索然后用文本文件中的变量替换整行

时间:2012-10-10 18:56:13

标签: batch-file

我正在尝试创建一个.bat文件,该文件将用一整行文本替换一组变量(按顺序)。

我习惯从'variables.txt'文件中提取3行文本数组:

    @echo off
    setlocal ENABLEDELAYEDEXPANSION
    set vidx=0
    for /F "tokens=*" %%A in (variables.txt) do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
    )
    set var

我想扫描文件'export.txt',第一次点击'client'这个词我想用第一个变量替换整行。

第二次点击'client'这个词我想让它用第二个变量替换整行(依此类推)。

我真的很难,并且不确定for / F序列中的多个变量。

1 个答案:

答案 0 :(得分:1)

你几乎就在那里,你只需要循环包含client

的行
set vidx=0
for /F "tokens=*" %%A in ('findstr "client" export.txt') do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
)
set var

for export.txt文件:

blah
client test1 test1
blah blah blah
client test2 test 2
blah blah
blah
test client test3

输出是:

var1=client test1 test1
var2=client test2 test 2
var3=test client test3