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

こんにちは、

VBSのADODB.Streamでファイルを操作しています。
単純なことですが、どうしたらよいか、わからないことがあります。

test.txt の中身は
abc
def
ghi

となっています。
これを

123
abc
def
ghi

のように変更したいのです。
ファイルの内容をいったんすべて読み込んで、Position = 0にして、123を書き込んで、読み込んだ残りを書き込めばよいのですが、ファイルのサイズが大きくなるとかなり無駄のように思います。

もっとスマートに、先頭に書き込んで、「書き込んだ分だけ残りは後ろに押し出される」・・・みたいな命令はできないのでしょうか?

できなければバッチファイルで処理しようかと思っています。

A 回答 (1件)

こんちは。



>>test.txt の中身は
>>abc
>>def
>>ghi

>>123
>>abc
>>def
>>ghi
>>のように変更したいのです。


「123改行コードabc」
にする。

じゃできないですか?
まぁ、厳密に言うと、「abcの後ろには既に改行コードが入ってる」でしょうから
「123改行コードabc改行コード」を先頭行にする。かなぁ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
その発送はありませんでした。
なるほど、と思いましたが、今回は、ファイルによってその冒頭の abc が毎回違うのと、ファイルの中で何度も abc が出現するので、汎用的な方法ではないと思います。

とりあえず、
テンポラリのStreamを使ってそこに123を入れてから、CopyTo メソッドを使ってその続きからコピーする方法をとりました。

回答ありがとうございます。

お礼日時:2012/12/14 15:50

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