2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ファイル名に=;,や全角空白を使うときは、半角空白も併せて使うべし。 | トップページ | バッチ引数、FOR引数の有無を判定する。 »

2008年2月22日 (金)

バッチファイルでテキストファイルを編集する。

テキストファイルを読み込んで、XXXXをYYYYに変更して、元のファイルに書き込む例です。

editfile.cmd ファイル

@echo off
setlocal disabledelayedexpansion
set TEST=%1
if not defined TEST goto :eof
set LINE=
for /f "delims=" %%0 in ('find /n /v "" ^< %1 ') do (
if not defined LINE call > %1
set LINE=%%0
setlocal enabledelayedexpansion
set LINE=!LINE:XXXX=YYYY!
>> %1 echo,!LINE:*]=!
endlocal
)

元のファイルに書き戻す関係で、一度、findコマンドで全行を読み出してから、1行目でファイルを空にして、各行を追加書きします。

« ファイル名に=;,や全角空白を使うときは、半角空白も併せて使うべし。 | トップページ | バッチ引数、FOR引数の有無を判定する。 »