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' という単語に 2 回目に当たると、行全体を 2 番目の変数 (など) に置き換えます。

私は本当に苦労しており、 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 に答える