• ベストアンサー

テキストファイルの最終行を削除したいのですが

初めまして。 batかVBSのプログラムで、テキストファイルを開いて最終行のみを削除したいのですが、どうしても実現が出来ません。 もし分かる方がおられましたら、是非ともご教授をお願い致します。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

同一ファイルでは無理と思います。 1行ずつ読んで、別ファイルに書き出すことでファイルコピーする。 そのとき、1行のバッファを用意し、次行が読めたら書き出す、を繰り返す。 読み出しがEOFになったら、書き出しせずに終了。 最後に元ファイルを消して、書き出したファイルをリネームする。

gold_soul
質問者

お礼

回答ありがとうございます。大変参考になりました。 同一ファイルでは、その様な処理は不可能なんですね。 上記アドバイスを参考に、プログラムを組んでみようと思います。

その他の回答 (1)

noname#97729
noname#97729
回答No.2

関連するQ&A

  • テキストファイルから最終行の抽出

    テキストファイルに出力された内容のうち、 最終行のみ抽出し、他のテキストファイルに 落とし込みたいと考えています。 DOSコマンドを使用して実現したいと思うのですが 良い方法などございましたら、ご教授ください。 宜しくお願い致します。 ※OSはWindows Server 2003を使用しています。

  • テキストファイルの最終行の削除

    C++Builder6です。 テキストファイルの最終行だけを削除する方法を 探しています。 詳しく言えば、ファイルを開けないで、最後にある 改行コード?のみを削除したいです。 よろしくお願いします。

  • テキストファイルの最終行を消すには。

    C#を使っていますが、だいたい同じだと 思いますのでVBで質問します。 テキストファイルの最終行を 消したいのですが、いい方法は、 ないでしょうか。 (指定行を消す方法でも) お願いします。

  • テキストファイル内の指定文字が含まれる行以下を削除

    いつもお世話になります。 以下、バッチ(bat)で可能でしょうか? テキストファイル内(sample.txt)に指定文字(SA2:という文字)が必ず1行含まれていて 2行以上にはなりません。 SA2が含まれる行以下を削除し、sample1.txtという名前で保存したいです。 findstr SA2 でSA2が含まれる行を調べられるのいですが、その行を含む以下の行を 削除するというのが、どのように考えたらいいのかわかりません。 お力添え頂けますでしょうか? 宜しくお願い致します。

  • テキストファイルの最終行の改行コード削除

    お世話になります。 SQLコマンドを発行し、csvファイルを自動生成させるシェルスクリプトを作ったのですが、最終行にある改行コードを削除して欲しいとの指示を受けて、その方法を調査。試行錯誤しているのですがよい方法が見つかりません。 最終行にある改行コードのみを削除するにはどうしたら宜しいでしょうか。 ご教示頂ければ幸いです。 宜しくお願い致します。                                以上

  • バッチファイルを使ってテキストファイルの任意の行を削除したい

    こんにちは。 バッチファイルを使って、テキストファイルの任意の行を削除したいのですが、可能でしょうか? 今困っているのは、あるファイルの1行目と2行目と最後の行を削除したいのですが、コマンドがわかりません。 いろいろ調べてみたのですが、わかりませんでした。 よろしくお願いします。

  • テキストファイルの重複行を削除できますか?

    テキストファイルを読み込んだ際に重複行を削除する 事とかって出来ますでしょうか?? そういう削除関数みたいなのがないんですよね。。。。 C言語って.......

  • テキストファイルから文字を読み込み最初の行を削除

    現在、リアルタイムでセンサーで値を取得してそれをファイルに書きだすと同時にgnuplotで描画するwindows(VC++)プログラムを作っております。 手順としては (1)ADCの装置から値が送信されるのでそれを取得 (2)fprintfでデータ書き出し (3)gnuplotでグラフを作る ということをやっています。 データの書き出し、リアルタイムでのグラフ表示はできるようになったものの、グラフを作る際、データがそれまで取った値全てのデータでグラフを作ってしまうので非常に膨大なデータをプロットしてしまいます。 そこで、「最新の1000個だけをプロットする」ようなことをしたいのですが、このとき、データを保存するファイルとは別に、一時ファイルを作り最新の1000個のデータをその一時ファイルに書き込みそれをplotすることを考えました。(1秒おきに、最新のデータが一番後ろの行について、1000個前のデータが削除される) しかしながら、「最初の行(1000個前のデータの行)を削除する」というところでどう実現すれば良いのか分からなくなってしまいました。 ご存じの方いらっしゃいましたら教えていただきたいです。 どうぞよろしくお願い致します。 ===== 一時ファイル ====== #a   b a0    b0    ←ここの行を削除したい! a1    b1    ・    ・    ・ a999 b999 a1000 b1000  ←ここが追加される

  • テキストファイルの行を上下入れ替えるには?

    テキストファイルの行の上下を入れ替えたいです。 例えば4行あるとすると、最初の行を最終行、2行目を3行目、3行目を2行目、最終行を最初の行にしたいです。 かなりの行数があるのでコピペでは大変なので自動でできるようにしたいです。 どうすれば簡単にできるでしょうか?

  • ファイルの先頭行を全て削除したい

    コマンドプロンプトについてお教え願えまえせんでしょうか? ■同一フォルダ内にあるテキストファイルの1行目のみを全て削除したい。 1000テキストファイルがあります。全てのファイルの先頭行(1行目)を削除したいです。 ■上記のファイルが複数のサブフォルダ内に散らばっているとします。 フォルダAの中にあるサブフォルダを含めた全てのファイルに対し、同じように先頭行を削除したい。 上記の2点をおこないたいと思います。1ファイルづつ先頭行を消していくのは大変な作業なので一発でできればと思っています。 よろしくお願い致します。

専門家に質問してみよう