我正在尝试创建一个 .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 序列中的多个变量。
最佳答案
你快到了,你只需要循环遍历包含 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
关于batch-file - 使用批处理脚本搜索然后用 txt 文件中的变量替换整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12826387/