• 締切済み

バッチでiniファイルの編集

バッチプログラムでiniファイルの編集をしたいのですが、 調べてはいるのですが、初心者の為困っています。 やりたいこと: 特定の文字列を見つけたら置換する 例 iniファイルの内容 ~~~~~~~ abcdef=789 123456=789 ~~~~~~~ 「789」を「xyz」に置換したい OS:Win2k この場合、どのようなコマンドを使用して 編集すれば良いのでしょうか? 宜しくお願い致します。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.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

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

バッチファイルでは、ファイルの編集は出来ないんで新しい内容のファイルを作って以前のファイルを消すという感じになります。 で、1行の文字列を複数個に分割するにはforコマンドで出来ますので。 あとはxyzだったら置き換えて、それ以外の行だったらそのまま新しいファイルに出力していくという感じになるかと思います。

関連するQ&A

専門家に質問してみよう