若要把多個文字檔合併成一個,你可以依照想要的順序挑選兩個到二十個本機檔案,選擇工具該如何分隔它們,然後下載一個 UTF-8 的單一輸出檔,整個過程不需上傳任何資料。這項操作就是一般的串接:第一個被選的檔案貢獻第一段文字,接著插入你所選擇的分隔符,然後接上第二個檔案,並依此類推處理整份清單。由於結果是確定性的,因此相同的檔案、相同的順序與相同的分隔符,必定會產生相同的輸出。來源檔案會在目前的瀏覽器分頁中讀取並合併,使用的是 Text File Merger,這代表你的筆記、記錄檔摘錄或 Markdown 章節內容完全不會離開你的電腦。下載的檔案命名為 merged-text.txt,並自我宣告為 UTF-8 純文字。本指南將詳細說明如何設定合併作業、預覽會顯示與不會顯示哪些內容,以及哪些限制會決定工具能否完成特定批次的任務。

how to merge text files into one
Merge Text Files Into One: A Local Browser Method

三種分隔符規則,三種不同的結果

合併工具提供一個明確的選項,用來控制相鄰檔案之間的每一個邊界:一個換行、一個空白行,或完全不加分隔符。工具會在兩段解碼後的檔案字串之間,精準插入你選擇的字元,除此之外不會插入任何東西。批次中的第一個與最後一個檔案,並不會在開頭或結尾額外加上分隔符;分隔符只會出現在檔案之間。

選項 在檔案之間插入的字元 最適合的情境
一個換行 剛好一個 LF 字元 連續資料、記錄檔行,或已經以換行結尾的編號條目
一個空白行 剛好兩個 LF 字元 應視為各自獨立區塊的不同章節、章回或筆記
不加分隔符 空字串 檔案最後一個字元應直接緊接下一個檔案第一個字元的情況

每個解碼後檔案內部既有的換行會保持瀏覽器讀取到的樣貌。如果某個檔案本身已經以結尾換行作結,而你又選擇了空白行選項,則結果在下一個檔案開始之前,可能會出現連續三個 LF 字元。工具絕不會修剪、去重或改寫這些內部邊界,因此在下載之前,預覽是唯一能可靠確認間距的地方。

工具會接受哪些副檔名

合併工具接受檔名結尾為 .txt、.csv、.md 或 .log 的檔案。這四種副檔名僅在檔名層級進行辨識。每個被接受的檔案都會以純文字方式解碼並串接,因此副檔名並不會讓工具變成具備格式感知的解析器。CSV 引號、Markdown 結構、記錄檔記錄與欄位分隔符,在輸出中都仍然只是一般字元。這對於章節、未經處理的匯出檔與冗長的記錄檔摘錄很方便,但對於合併多個 CSV 片段(其結構、標頭、引號包覆的多行記錄或編碼並未對齊)的任務,則是完全錯誤的工具。把二進位檔重新命名為上述任一副檔名,可能會讓它被解碼成一堆替代字元,這也是在下載前務必查看預覽的另一個理由。檔案讀取透過標準瀏覽器檔案 API 在本機進行,相關的文字解碼文件請參考 MDN 上的 Blob 介面。

三個瀏覽器步驟即可將多個文字檔合併成一個

  1. 開啟 Text File Merger,挑選兩個到二十個副檔名為 .txt、.csv、.md 或 .log 的檔案。瀏覽器的檔案選擇器會保留你的選取順序,而該順序就是合併工具將使用的順序。
  2. 選擇一種分隔符:一個換行、一個空白行,或不加分隔符。這一個選擇會控制批次中所有相鄰檔案之間的邊界。
  3. 執行合併,捲動瀏覽完整預覽以確認順序與間距,然後點擊下載。該頁面只有在按下下載按鈕時才會產生一個臨時的 Blob URL,觸發瀏覽器儲存動作,並立即釋放該 URL。下載的檔案命名為 merged-text.txt,使用 UTF-8 純文字位元組,且不含位元組順序標記 (BOM)。

選擇不同的檔案組合或不同的分隔符,會清除先前的結果與驗證狀態,因此舊的預覽不會被誤認為是當前的輸入。在下載檔案於目標應用程式中成功開啟之前,請先保留原始檔案。

下載前詳閱精確的預覽內容

預覽是此工具所提供的最實用防護機制。它會以挑選器所決定的順序,完整顯示所產生的字串,並在每個邊界處顯示你所選擇的分隔符。第一個該檢查的位置是第一個檔案與第二個檔案之間的接合處:插入的字元應符合你選擇的規則,且周圍內容看起來如你所預期。第二個該檢查的位置是最開頭與最結尾:工具不會在前面或後面附加任何內容,因此輸出的第一個字元就是第一個檔案的第一個字元,輸出的最後一個字元就是最後一個檔案的最後一個字元。

由於合併工具不會依檔名、修改日期、大小或自然數順序進行排序,因此包含相同檔案但挑選順序不同的兩個批次,會產生兩個不同的下載結果。瀏覽器的檔案挑選器通常會保留選取順序,但快速檢視一下預覽,是防止靜默重新排序最簡單的保險措施,特別是在檔名依字母順序相近時。

決定合併能否完成的硬性限制

這項作業受到兩項條件約束,且這兩項都會在任何檔案內容被讀取之前先進行檢查。第一個是檔案數量:合併作業至少需要兩個檔案,因為只有一個檔案實際上並不算是合併,而上限是二十個。第二個是所選批次的總大小,上限為 10 MiB。剛好 10 MiB 可被接受;只要超過上限一個位元組,就會在解碼開始之前直接被拒絕。這些限制是為了約束瀏覽器的記憶體、平行文字解碼、預覽渲染以及所產生輸出的大小。

只要批次在其他方面符合規則,空白檔案是被允許的。空白檔案會在串接中貢獻一個空字串,且其兩側的分隔符仍會被插入,這樣能保留宣告的檔案順序,而不會悄悄地把條目略掉。零位元組的最終輸出,只有在批次中每個檔案皆為空白且選取了「不加分隔符」選項時才可能發生。在上限設定下——也就是二十個檔案總計 10 MiB——所產生的 UTF-8 純文字下載檔,對任何現代瀏覽器來說都能從容處理。

能輕鬆容納的常見批次組合

合併工具非常適合人們實際累積出來的小型、自足的批次:屬於同一份連續日記的資料夾、應視為單一序列的匯出清單片段、某份草稿的數個 Markdown 章節,或標頭與編碼已經對齊的相容 CSV 片段。它也能乾淨地處理簡短的記錄檔摘錄,因為「一個換行」選項能讓每一筆記錄都維持在獨立的一行,同時仍將檔案合併成一個連續檔案。對於章節與各自獨立的筆記,「空白行」選項會在檔案之間產生一個明顯的間隔,這通常正是讀者對一份由許多部分構成的單一文件所期待的結果。對於最後一行本來就缺少結尾換行的純資料檔案,「不加分隔符」選項會將它們無縫接合,當下游工具預期接收一條沒有額外字元的連續資料流時,這個選項特別有用。

命令列工具更適合的情境

這套瀏覽器工具是為有限的便利性而打造的,而不是為了封存保存或無損的二進位串接。10 MiB 的上限是改用其他工具的主要理由:大型的記錄檔封存、好幾 MB 的 CSV 匯出檔,以及串接起來的程式碼儲存庫,都會在解碼開始前就被拒絕。敏感性資料是改用本機命令列工具的另一個理由,因為後者具有明確的編碼與串流處理行為,而瀏覽器工具則是為例行、低風險的組合所設計。對於希望一步步了解命令提示字元方法的讀者,命令提示字元合併指南 提供了無需外掛或腳本即可完成此任務的教學。只要符合 10 MiB 上限,瀏覽器方法就能提供可驗證的預覽、確定性的結果,以及一個無需伺服器往返、不需帳號的單一 UTF-8 下載檔。