• ベストアンサー

複数のテキストファイルを結合するバッチファイル

複数のテキストファイルを1つにまとめたいと思います。 テキストファイルの内容は以下の通りです。 (Input_1.txt) 出身県,性別 神奈川,男 埼玉,男 千葉,女 (Input_2.txt) 出身県,性別 群馬,女 茨城,男 栃木,女 以下のようにまとめたいと思います。タイトルは先頭のみにしたい。 (Merge.txt) 出身県,性別 神奈川,男 埼玉,男 千葉,女 群馬,女 茨城,男 栃木,女 type Input*.txt > Merge.txt とすると、2つめのタイトルが付与されてしまいます。 どのようにすれば良いか教えて下さい。

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

  • ベストアンサー
  • davidfox
  • ベストアンサー率58% (21/36)
回答No.7

No.4です。 え~、予め意見を言いますと、本題へのベストなアンサーなら No5さんの more を使った方がシンプルで1番いいと思いますよ。 私は more を思い付かなかったまでで... for については /? で表示されるヘルプを見た方が間違いないですね。

その他の回答 (6)

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.6

[ANo.5] で参考にしたページ書くの忘れてた。 → http://okwave.jp/qa/q6855897.html の [ANo.3] さんの回答

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.5

Echo.出身県,性別> Merge.txt For %i In (Input*.txt) Do @More +1 %i>> Merge.txt

  • davidfox
  • ベストアンサー率58% (21/36)
回答No.4

次のようなバッチファイルでいいんじゃないでしょうか。 echo 出身県,性別 > Merge.txt for /f "skip=1 delims=, tokens=1,2*" %%i in (Input_1.txt Input_2.txt) do echo %%i,%%j >>Merge.txt

okayama394
質問者

補足

お忙しい中、回答頂きありがとうございました。 for /f "skip=1 delims=, tokens=1,2*" %%i in (Input_1.txt Input_2.txt) do echo %%i,%%j >>Merge.txt について、 /f skip=1 delims= tokens=1,2* %%j について、内容を簡単に説明して頂けないでしょうか。 また、inの後の、()内は、ファイル数分、指定しないといけないのでしょうか。

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.3

自分ならこうします。 ↓ REM タイトルのみのMerge.txtを作成 echo 出身県,性別 > Merge.txt REM 除外grepしつつAPPENDでMerge.txtにリダイレクト type Input*.txt | findstr -v 出身県,性別 >> Merge.txt ただし、各テキストに重複がある場合、これだと対応はできません。 (重複がなければ以下は不要) 私の環境はUnixコマンドのWindows移植版が入っているのでこんな感じで重複を削除できます。 echo 出身県,性別 > Merge.txt type Input*.txt | findstr -v 出身県,性別 | sort | uniq >> Merge.txt 上記の場合、並び順は入力順ではなくなるので注意してください。 UnixコマンドのWindows移植版はCygwinなどが一般的だと思いますが、Microsoftも無償で提供しています。 ↓ Microsoft Windows Services for UNIX(SFU) Subsystem for UNIX-based Applications(SUA)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>copy Input_1.txt+Input_2.txt Merge.txt 残念なことに、 「2つめのタイトルが付与されてしまいます。」 という結果は同じですね。

回答No.1

  copy Input_1.txt+Input_2.txt Merge.txt どうです  

関連するQ&A

専門家に質問してみよう