テキストファイルを自動で結合する方法を探しています。

A・B・Cのテキストの行末に、Zのテキストを貼り付けるという方法です。
このA・B・Cが数百ファイルあるため、自動で結合する方法を探しています。
どうか宜しくお願いします

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答8件)

id:honey3 No.1

回答回数350ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1084157220#

テキストファイルを自動で結合する方法を探しています。 A・B・Cのテキストの行末に、Zのテキストを貼り付けるという方法です。 このA・B・Cが数百ファイルあるため.. - 人力検索はてな

コマンドプロンプトで

1.type A > DstFile

2.type Z >> DstFile

でDstFileにA+Zをしたテキストファイルが作成されますので、それをBATファイル等でA,B,Cについても同じようにするのではダメですか?

id:rain2000t

う〜んDOSは明るくないので、アプリかマクロであると嬉しいのですが

2004/05/10 11:54:20
id:aki73ix No.2

回答回数5224ベストアンサー獲得回数27

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se072710.html

Vector:ファイル結合ソフト(分割機能付) (Windows95/98/Me / ユーティリティ) - ソフトの詳細

こういうソフトがあります

これは使えるか謎

http://www.vector.co.jp/soft/win95/util/se219499.html

Vector:CatWin (Windows95/98/Me / ユーティリティ) - ソフトの詳細

これはいけそうです

id:rain2000t

う〜ん どれも連続して作業することは無理のようです

2004/05/10 12:04:19
id:virus No.3

回答回数183ベストアンサー獲得回数1

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se108845.html

Vector:Sysneitf BatchFile (Windows95/98/Me / ユーティリティ) - ソフトの詳細

A・B・CやZがどういう形でどういうファイル名かによりますが、基本的には A.BAT と言うファイルをメモ帳で作成し、中身を

copy A+B+C+Z N

として、この A.BAT を実行すれば、結合した N と言うファイルが出来ます。

A・B・Cが規則的な名前とかなら、上記の前後を for 等でループを書くと手間はかかりません。

id:rain2000t

う〜ん、もう少し簡単な方法が嬉しいのですが。

ちなみにファイル名はバラバラで、行末に貼るZのファイルは、ひとつだけです

2004/05/10 12:09:36
id:sac No.4

回答回数29ベストアンサー獲得回数0

ポイント10pt

これはどうでしょうか?

「もともとは大量の固定長データファイルをひとつにまとめるために作成したもの」

と、あるので大量のデータを結合するのにはいいかなと思いました。

-----------

特定のフォルダにある複数のテキストファイルを、ひとつにまとめてくれます。

テキストファイルの拡張子はなんでも構いませんし、ソフト上で指定できます。

拡張子の指定による簡易絞込みも可能です。

ただし、まとめる順番(どのファイルが何行目に)は指定できません。

まとまったファイルを開いてソートしてください(笑)

なお、もともとは大量の固定長データファイルをひとつにまとめるために作成したものです。

id:rain2000t

ありがとうございます

2004/05/10 12:12:04
id:virus No.5

回答回数183ベストアンサー獲得回数1

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se082901.html

Vector:ファイルリスト作成機 (Windows95/98/Me / ユーティリティ) - ソフトの詳細

ファイル名がばらばらで規則がないのであれば、↑こういうソフトでファイル名の一覧を作成して、先ほどの copy A+B+C+Z N の形に一行ずつ整形して、A.BAT ファイルに必要な行数を並べて行きます。ここはエディタ等のマクロを使えばある程度の手間は省けると思います。

最後に A.BAT を実行すれば一気に結合できます。

id:itochan No.6

回答回数20ベストアンサー獲得回数1

ポイント10pt

http://www.hatena.ne.jp/1084157220?kotae

テキストファイルを自動で結合する方法を探しています。 A・B・Cのテキストの行末に、Zのテキストを貼り付けるという方法です。 このA・B・Cが数百ファイルあるため.. - 人力検索はてな

MSDOSでバッチファイルをつくればいいと思います。

distというフォルダを作って、

joint.batというファイル名で、以下の1行。

copy %1.txt+z.txt dist¥%1.txt

joint *

で実行できます。

ロングファイルネームに対応してないですね。

使い物にならなければポイントは不要です。

id:rain2000t

ありがとうございます

2004/05/10 12:22:17
id:katekyo-search No.7

回答回数12ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1084157220

テキストファイルを自動で結合する方法を探しています。 A・B・Cのテキストの行末に、Zのテキストを貼り付けるという方法です。 このA・B・Cが数百ファイルあるため.. - 人力検索はてな

VBScriptでマクロ書けるなら、

Set fold = CreateObject(”Scripting.FileSystemObject”)

Set fs = fold.GetFolder(folder_name)

Set fc = fs.Files

For Each f In fc

(コピーするマクロを書く)

Next

て感じでフォルダ内にある任意のファイルを呼び出せると思いますよ

id:rain2000t

ありがとうございます

2004/05/10 12:43:46
id:cx20 No.8

回答回数607ベストアンサー獲得回数108

ポイント40pt

試しにコードを書いてみました。

’ AppendFile.vbs

’ 使い方:

’ 1. DIR_SRC にコピー元のファイルがあるフォルダ名を指定します。

’ 2. DIR_DST にコピー先のフォルダ名を指定します。

’ 3. FILE_ADD に追加するテキストファイルを記述します。

’ 4. AppendFile.vbs をダブルクリックします。

’ DIR_DST の場所に連結されたファイルが作成されます。

Const DIR_SRC = ”D:¥home¥edu¥VBScript¥AppendFile¥src” ’ コピー元のフォルダ名

Const DIR_DST = ”D:¥home¥edu¥VBScript¥AppendFile¥dst” ’ コピー先のフォルダ名

Const FILE_ADD = ”D:¥home¥edu¥VBScript¥AppendFile¥add.txt” ’ 追加するテキストファイル

AppendFile

Sub AppendFile

Dim fso

Set fso = CreateObject(”Scripting.FileSystemObject”)

Dim folder

Set folder = fso.GetFolder( DIR_SRC )

Dim strFileName ’ コピー元のファイル名が入ります

Dim txtFile1

Dim txtFile2

Dim txtFile3

Dim strMargeText ’ 文字列連結用変数

For Each strFileName In folder.Files

Set txtFile1 = fso.OpenTextFile( strFileName, 1, False )

Set txtFile2 = fso.OpenTextFile( FILE_ADD, 1, False )

strMargeText = txtFile1.ReadAll & txtFile2.ReadAll

Set txtFile3 = fso.CreateTextFile( DIR_DST & ”¥” & fso.GetFileName(strFileName) , True)

txtFile3.WriteLine( strMargeText )

Next

End Sub

id:rain2000t

どうもありがとうございます。

しかしアタシに使えるのだろうか?

2004/05/10 13:00:49
  • id:virus
    bat ファイルによる方法

    一部勘違いしていたので補足です。
    すべてのファイル(Zも含め)があるフォルダに存在する(他のファイルは存在しない)という条件で、次の2行を a.bat ファイルに書きます。
    その後、そのフォルダで a.bat を実行(エクスプローラでフォルダを表示して、a.batをダブルクリック)で、その下に nn と言うフォルダが出来て、その中に元と同名のファイルが出来るはずです。
    a.bat や Z に対するものも出来ますが、ご愛嬌と言うことで(^^ゞ

    md nn
    for %%i in (*.*) do copy %%i+z nn¥%%i
  • id:hatene
    エディタのマクロでもできそうですが

    同じフッタを大量のテキストに挿入するという事ですよね?
    ファイルを開く→末尾に挿入→保存
    という事を繰り返すマクロでできそうです。時間はかかりそうですが。
    エディタやワープロだと記録機能などを使って簡単にマクロを作れるものもありますよね。

    あとこういうのはPerlを覚えると非常に便利ですよ。

    具体的じゃなくてすいません。
  • id:alphalook
    batファイルによる方法とその注意点

    他の方がバッジファイル(拡張子が.batと付けるもの)での方法をご紹介しておられますので、私はそれに補付け足しする形で書きます。
    私はMS-DOS3.3b-cの頃に大量でファイル容量の大きいデータを業務として扱ってきましたので、それを効率よく扱うために、バッジファイルは必須で、なおかつ大変便利な物でした。バッジファイルの中でバッジを実行させる事も可能なので、やり方さえ覚えれば大変有効に活用できます。ただし、***.batのネーミングは、通常使う言葉を避けるようにして下さい(たとえば、「a.bat」とつけると、間違ってa+リターンをしてしまったら最後です(--;)
    ちなみにUNIX(MacOS-Xのターミナル含む)では「cat」コマンドで手動ですがファイル結合ができます。
    UNIX(Linux)なり、DOSコマンドなりを覚えていると、こういう時に大変役に立ちますよ!
  • id:aki73ix
    ちなみに

    batファイルというようにバッチファイルです

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません