我正在尝试创建一个.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序列中的多个变量。
答案 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