テキストファイルに文字を先頭に追加するには?

解決


ms  2005-04-15 00:04:21  No: 89389

環境はVB6SP5です。

----------------------
AAAA,BBBB,CCCC\n
DDDD,EEEE,FFFF\n
GGGG,HHHH,IIII\n
EOF
----------------------

という中身のテキストを

----------------------
1111,2222,3333\n
AAAA,BBBB,CCCC\n
DDDD,EEEE,FFFF\n
GGGG,HHHH,IIII\n
EOF
----------------------

と言う風に先頭行に追加したいのですが、可能でしょうか?


Ryo  2005-04-15 00:50:18  No: 89390

以下のような手順で出来ると思います。

(1)ファイルを読み取りモードで開いてファイルの中身を全て文字型変数に格納

(2)ファイルを書き込みモードで開く

(3)先頭行に追加したい文字列をファイルに書き込む

(4)最初に取得したファイルの中身をファイルに書き込む

(5)ファイルを閉じる


ms  2005-04-15 00:52:45  No: 89391

上記の方法で可能なのですが、データがものすごく大きかった場合に
非常に時間がかかります。

この方法以外には、できないでしょうか?


みい  2005-04-15 01:38:10  No: 89392

考え方としては
元ファイルをリネーム->新ファイル作成->追加文字列書込->ファイル閉じる
->新ファイルと元ファイルを連結->(元ファイル削除)
とか…。連結方法が思い付いてないけど。


ms  2005-04-15 01:40:52  No: 89393

ありがとうございます。

VBのファイル処理ではできないものでしょうか?

>新ファイルと元ファイルを連結
この方法も模索してみます。


みい  2005-04-15 01:46:25  No: 89394

連結はDOSコマンドだったらcopyでファイル名+ファイル名でできるんですけどね。


ms  2005-04-15 02:00:00  No: 89395

>連結はDOSコマンドだったらcopyでファイル名+ファイル名でできるんですけどね。
DOSでやってみましたがうまくいきませんでした。
ファイル名の指定の方法等が間違っているのでしょうか?
また、このコマンドで連結したファイルはどのようになるのでしょうか???


ねろ  2005-04-15 02:11:18  No: 89396

>DOSでやってみましたがうまくいきませんでした。
>ファイル名の指定の方法等が間違っているのでしょうか?
と言われても、どの様に指定したか判らなければ。。。(^^;

普通はこうかな 。
Shell "command.com /c c:\Text1.Text + c:\Text2.Text", vbHide
Text1に足されます。

ところで
>データがものすごく大きかった場合に
はどのくらいの大きさなんですかね。


ms  2005-04-15 02:20:13  No: 89397

>>データがものすごく大きかった場合に
>はどのくらいの大きさなんですかね。
20万行ぐらいのデータです。

>Shell "command.com /c c:\Text1.Text + c:\Text2.Text", vbHide
ちゃんとファイルを置いてやってみましたが、なにも変更がありません。
どうしてでしょうか???


Ryo  2005-04-15 02:46:57  No: 89398

単にコマンドが正しくなかっただけでは?
以下のようにしたらうまくできました。
Shell "command.com /c copy c:\Text1.Text + c:\Text2.Text c:\Text1.Text", vbHide


ねろ  2005-04-15 03:15:21  No: 89399

わー!!!
花見疲れでめちゃくちゃなものを貼り付けました。orz
Ryoさん、有難う!


ガッ  2005-04-15 03:29:37  No: 89400

…不思議なのは、
> Shell "command.com /c copy c:\Text1.Text + c:\Text2.Text c:\Text1.Text", vbHide
と書くと、
"c:\Text1.Text"というファイルと、"c:\Text2.Text"と言うファイルを結合して、
"c:\Text1.Text"というファイルにする…んだけど、
これはやっぱり
"c:\" & """" & Text1.Text & """" とした方がいいのかな…?
…あと、万が一を考えて、/b オプションもつけたほうがいいかも。

※誤爆ぢゃ…ないよね…(…


いな  2005-04-15 03:58:44  No: 89401

>※誤爆ぢゃ…ないよね…(…

誤爆じゃないです。
よくある結合Batでは
/bオプションつけますから・・・。


みい  2005-04-15 05:10:29  No: 89402

ああっ、少し見ない間に…。
皆々様フォローありがとうございます。

便乗質問:
皆様はcopyコマンドの時 /v オプション付けますか?


いな  2005-04-15 06:13:04  No: 89403

いや、自分の場合はつけない。

たまに、/-Yつけるときがあるが、ほとんどのケースでは/bのみ


ms  2005-04-15 18:15:02  No: 89404

できました。

皆さんありがとうございました。

またお願いします。


みい  2005-04-16 08:37:49  No: 89405

> たまに、/-Yつけるときがあるが、ほとんどのケースでは/bのみ
いな様ありがとうございますm(_ _)m。

自分の場合は/bと/yなのですが、/vでチェックした方がいいのかなと悩んでたもので。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加