[ホーム] -
[Windows 11 FAQ 一覧] - [複数のテキストファイルを一つにまとめるコマンド | Windows]
【目次】
このページではWindows 環境において複数のテキストファイルを一つのテキストファイルにまとめる方法に関して説明します。
C:\>type *.txt > c:\temp\result.txt
ポイントは結果のファイル(この場合はresult.txt) を異なるフォルダに保存することです。
もし同一のフォルダに同一拡張子で出力すると、そのファイルも結合に含まれて異常な結果となってしまいます。
(*)ただし結合部分のコードがおかしくなるようです。厳密な処理を行う場合はこの type で結合する方法や copy で結合する方法は推奨できません。
順番に結合する
指定した順番で結合したい場合は type コマンドを連続で記載するとよいと思います。
type a.txt > c:\temp\result.txt
type b.txt >> c:\temp\result.txt
type c.txt >> c:\temp\result.txt
type d.txt >> c:\temp\result.txt
type e.txt >> c:\temp\result.txt
copy コマンドで結合する
次のようにcopy コマンドで結合することも可能です。テキストファイルの結合でも /b オプションによりバイナリファイルとして結合するのが確実です。
copy /b a.txt+b.txt a.txt
copy /b a.txt+c.txt a.txt
copy /b a.txt+d.txt a.txt
copy /b a.txt+e.txt a.txt
copy /b a.txt+f.txt a.txt
ただし type コマンドと同じように結合部分に不正な文字コードが追加されてしまいます。
秀丸テキストエディタで開いても不正な文字コードとして警告がきます。例えば「特殊な空白」など認識され、この文字は秀丸で表示できないために代わりに「?」マークで表示されます。
秀丸ではこの文字コード置換として一気に削除することが可能です。
Powershell で結合する
Powershell で結合することも可能です。拡張子 txt を一気にまとめています。Get-Content はそのファイルの中身を取得するコマンドレットです。
UTF-8 のテキストファイルをまとめています。
PS C:\> Get-Content -Encoding UTF8 *.txt > c:\temp\result3.txt
Powershell v6 の Get-Content の -Encoding で指定可能な文字コードは次の通りです。
ascii: ASCII (7 ビット) 文字セットのエンコーディング
bigendianunicode: ビッグエンディアンのバイト順を使用して UTF-16 形式でエンコード
oem: MS-DOS およびコンソールプログラムの既定のエンコード
unicode: リトルエンディアンのバイト順を使用して UTF-16 形式でエンコード
utf7: UTF-7 形式でエンコード
utf8: UTF-8 形式 (BOM なし) でエンコード
utf8BOM: バイト順マーク (BOM) を使用して UTF-8 形式でエンコード
utf8NoBOM: バイトオーダーマーク (BOM) を使用せずに UTF-8 形式でエンコード
utf32:32 UTF-8 形式でエンコード
(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
Copyright(c) TOOLJP.COM 1999-2024