首页 文章

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

提问于
浏览
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'这个词我想用第一个变量替换整行 .

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

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

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
    

相关问题