4

我正在尝试创建一个 .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”这个词时,我想用第一个变量替换整行。

第二次遇到“客户”一词时,我希望它用第二个变量替换整行(依此类推)。

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

4

1 回答 1

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

对于 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
于 2012-10-16T17:46:43.983 回答