• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBSで、テキストファイルに対して、全体の途中に文字列を追加したい)

VBSでテキストファイルに文字列を追加する方法

このQ&Aのポイント
  • VBSを使用してテキストファイルに文字列を追加する方法について質問です。テキストファイルを開いて、指定の行の下に文字列を追加するプログラムを作成したいです。
  • 現在、テキストファイルに文字列を追加するスクリプトを作成していますが、行の一番下にのみ追加できてしまいます。指定の行の下に文字列を追加する方法を教えてください。
  • VBSスクリプトを使用してテキストファイルに文字列を追加する方法を教えてください。行の一番下にのみ追加できる方法は既に分かっていますが、指定の行の下に文字列を追加する方法が分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VBScriptで用意されているファイル処理は 読み込み、書き込み、末尾への追加の3種類です 途中の書き換えは準備されていないのでテンポラリーファイルなどを使って希望の処理を行う方向でしょう Dim objFS,objText,objFile Dim objTemp, ss, flag Set objFS = CreateObject("Scripting.FileSystemObject") Set objFile = objFS.GetFile("C:\test\vbs\test.txt") Set objText = objFile.OpenAsTextStream(1,-2) Set objTemp = objFS.CreateTextFile("C:\Test\vbs\temp.txt",true) ' 書き換え処理をしたかどうかのフラグ flag = false do until objText.AtEndOfStream   ss = objFile.ReadLine   objTemp.WriteLine( ss )   if flag = false then     if ss = "B" then       flag = True       objTemp.WriteLine("新しい行")     end if   end if loop objText.Close objTemp.Close if flag then   '   ss = objFile.Name   ' 元が不要なら Deleteメソッドを使用   objFile.Move( "old_" & ss )   Set objFile = objFS.GetFile("C:\test\vbs\temp.txt")   objFile.Move( ss ) end if Set objFILE = Nothing Set objText = Nothing Set objTemp = Nothing

miyoplus
質問者

お礼

なるほど。 普通にはできず、 そんな技を使うんですね。 大変参考になりました。ありがとうございます。