プロが教えるわが家の防犯対策術!

バッチプログラムでiniファイルの編集をしたいのですが、
調べてはいるのですが、初心者の為困っています。

やりたいこと:
特定の文字列を見つけたら置換する


iniファイルの内容
~~~~~~~
abcdef=789
123456=789
~~~~~~~
「789」を「xyz」に置換したい

OS:Win2k

この場合、どのようなコマンドを使用して
編集すれば良いのでしょうか?

宜しくお願い致します。

A 回答 (2件)

置換するのは、右辺の語が 789 だったらということですよね。

違ったら補足ください。

copy nul file.tmp
for /f "delims=" %%X in (file.ini) do (
 set OUT=
 for /f "tokens=1,2 delims== " %%A in ("%%X") do (
  if "%%B"=="789" set OUT=1&echo %%A=xyz>>file.tmp
 )
 if not defined OUT echo %%X>>file.tmp
)
del file.ini
ren file.tmp file.ini
    • good
    • 1

バッチファイルでは、ファイルの編集は出来ないんで新しい内容のファイルを作って以前のファイルを消すという感じになります。



で、1行の文字列を複数個に分割するにはforコマンドで出来ますので。
あとはxyzだったら置き換えて、それ以外の行だったらそのまま新しいファイルに出力していくという感じになるかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!