備忘録です。
遅延環境変数を使ったり、環境変数のネストを使ったりして色々複雑なので。
【バッチサンプル】
・test.bat
rem 空ファイル作成
type nul> output.txt
rem 置換前文字列・置換後文字列を変数で定義
set before=hoge
set after=piyo
rem before・afterはfor文実行前に展開する(%で変数定義)
rem inputファイルの行(line)はfor文実行中に展開する(!で変数定義)
setlocal enabledelayedexpansion
for /f "delims=" %%I in (input.txt) do (
set line=%%I
echo !!line:%before%=%after%!!>> output.txt
)
endlocal
【入力ファイル例】
・input.txt
hogefuga
hoge
【出力ファイル例】
・output.txt
piyofuga
piyo