新しく質問する

Windowsのバッチファイルを利用しtxtファイルの指定のした位置に文字を追加する方法

役に立った:2件
  • 質問者:testbat
  • 投稿日時:2008/06/17 01:59
  • 困り度:困ってます
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

現在、下記内容のファイル(test.txt)指定した行に指定文字を追記できる方法を探しております。

【test.txt内容】

[test1]
::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::

[test2]

[test4]
::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::

[test5]
::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::
end

【追記したい内容】
test.txtの"[test2]"行の下の行に以下の文字を追記したいです。

[test3]
::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::

指定行に追記するというコマンド自体はないと思い、batやwshの本などを読んではいるのですがなかなか良い考えが浮かびません。
ご教示の程よろしくお願いいたします。

この質問に回答する
このQ&Aは役に立ちましたか?(役に立った:2件)

回答(2件)

  • 参考になった:0件
  • 回答者:notnot
  • 回答日時:2008/06/17 23:26

BATでも可能ですが、その場合、入力ファイル中の空行は削除されます。

for /f "delims=" %%A in (infile.txt) do (
 echo %%A
 if "%%A"=="[test2]" (
  echo [test3]
  echo :::::::::::::::::::::
  echo :::::::::::::::::::::
 )
)>outfile.txt

通報する

  • 参考になった:0件
  • 回答者:_himajin_
  • 回答日時:2008/06/17 22:16

[test4]の行を[test3]~[test4]の複数行に置換すると考えたらどうでしょう?
この動作なら色々実現手段はあるようですけど。
http://www.google.co.jp/search?q=%E8%A4%87%E6%95 …

中にはwshでやる方法を載せているページもありましたので自作するのであれば参考になるかも知れません。

通報する

  
このQ&Aは役に立ちましたか?(役に立った:2件)

このページのトップへ

Facebook公式ページ

公式Twitter