วิธีรวมหรือรวมไฟล์ข้อความหลายไฟล์

มีหลายครั้งที่คุณอาจต้องรวมไฟล์ข้อความหลายไฟล์(text file)เป็น  ไฟล์ข้อความ(text file)เดียว ตัวอย่างเช่น คุณอาจได้รับซีดีที่มี ไฟล์ข้อความ(text file)หลายร้อย ไฟล์ ทั้งหมดอยู่ในไดเร็กทอรีต่างๆ ซึ่งคุณต้องรวมเป็นไฟล์เดียวเพื่อนำเข้าไปยังExcelเป็นต้น

นอกจากนี้ยังมีประโยชน์หากคุณมี ไฟล์ บันทึกเครือข่าย(network log)ไฟล์บันทึกของเซิร์ฟเวอร์ หรือบันทึกสำรองที่คุณต้องการรวมเพื่อวัตถุประสงค์ในการขุดข้อมูลหรือการวิเคราะห์(mining or data analysis)ข้อมูล มีสองวิธีในการรวมไฟล์ข้อความเข้าด้วยกัน และผลลัพธ์จะแตกต่างกันเล็กน้อยขึ้นอยู่กับวิธีการที่คุณเลือก

ในบทความนี้ ฉันจะเขียนเกี่ยวกับวิธีการหลายวิธีในการรวมไฟล์ข้อความ เพื่อที่ว่าหากวิธี(method doesn) ใดใช้ไม่ได้ ผล คุณสามารถลองใช้วิธีอื่นได้

วิธีที่ 1 - พรอมต์คำสั่ง

หากคุณใช้command promptได้ คุณสามารถใช้คำสั่งง่ายๆ สองสามคำสั่งเพื่อรวมไฟล์ข้อความทั้งพวงได้อย่างรวดเร็ว ข้อดีของการใช้พรอมต์คำสั่ง(command prompt)คือ คุณไม่จำเป็นต้องติดตั้งโปรแกรมของบริษัทอื่น ถ้าคุณต้องการไพรเมอร์เล็กน้อยเกี่ยวกับการใช้พรอมต์คำสั่ง ให้(command prompt)ตรวจดูคู่มือสำหรับ(s guide) ผู้เริ่มต้นใช้งานของฉัน เพื่อใช้ พรอม ต์คำสั่ง(command prompt)

นอกจากนี้ เนื่องจากบรรทัดคำสั่ง(command line)สามารถรับพารามิเตอร์ได้หลายตัว คุณสามารถสร้างคำสั่งที่ค่อนข้างซับซ้อนเพื่อกรองและจัดเรียง(filter and sort)ไฟล์ที่คุณต้องการรวมไว้ในกระบวนการเข้าร่วม(joining process)ได้ ฉันจะอธิบายคำสั่งที่ง่ายที่สุด แต่จะเจาะลึกตัวอย่างบางส่วนเพื่อแสดงวิธีทำสิ่งที่ซับซ้อนมากขึ้น

ประการแรก เปิดWindows Explorerและไปที่ไดเร็กทอรีที่คุณเป็นที่ตั้งของไฟล์ข้อความ หากไฟล์ถูกจัดเก็บไว้ในโฟลเดอร์ย่อยหลายโฟลเดอร์ ให้ไปที่ไดเร็กทอรี(parent directory)หลัก ตอนนี้ให้กดCTRL + SHIFT ค้างไว้ จากนั้นคลิกขวาที่จุดว่างในหน้าต่างExplorer(Explorer window)

เปิดหน้าต่างคำสั่งที่นี่

ซึ่งจะเป็นการเปิดหน้าต่างคำสั่ง(command window)ที่ตั้งค่าเป็นไดเร็กทอรีที่คุณอยู่อยู่แล้ว ตอนนี้สิ่งที่เราต้องทำคือพิมพ์คำสั่ง ดังที่คุณเห็นด้านบน ฉันมีเอกสารข้อความสามฉบับในโฟลเดอร์พร้อมกับสองโฟลเดอร์ หากฉันต้องการรวมไฟล์ข้อความไว้ในโฟลเดอร์เดียว ฉันจะออกคำสั่งนี้:

for %f in (*.txt) do type “%f” >> c:\Test\output.txt

ในการเข้ารหัส parlance นี่เป็น ลูป FOR ง่ายๆ ที่วนรอบไฟล์ทั้งหมดที่ลงท้ายด้วย.TXTและส่งออกไปยังไฟล์ชื่อoutput.txt

รวม txt cmd

ดังที่คุณเห็นด้านบน ลูปจะรันคำสั่งแยกต่างหากสำหรับแต่ละไฟล์ข้อความ(text file)ที่พบในไดเร็กทอรี โปรดทราบว่าหากคุณมีไฟล์ข้อความ(text file)แต่มีนามสกุลอื่น เช่น.log หรือ .dat(.log or .dat)เป็นต้น คุณสามารถเปลี่ยนค่า *.txt ในคำสั่งได้ นอกจากนี้ยังควรสังเกตด้วยว่าเอาต์พุตควรอยู่ในตำแหน่งที่แตกต่างจากไดเร็กทอรีปัจจุบัน มิฉะนั้นจะผนวกไฟล์เอาต์พุต(output file)เข้ากับตัวมันเองเนื่องจากเป็นไฟล์(text file)ข้อความ

สมมติว่าคุณมีไฟล์ข้อความที่ไม่ได้อยู่ในโฟลเดอร์เดียว แต่อยู่ในโฟลเดอร์ย่อยจำนวนมาก ในกรณีนี้ เราสามารถเพิ่มพารามิเตอร์ลงในคำสั่ง ซึ่งจะบอกให้ค้นหาไฟล์ข้อความซ้ำๆ ในโฟลเดอร์ย่อยของไดเร็กทอรีปัจจุบัน

for /R %f in (*.txt) do type “%f” >> c:\Test\output.txt

คุณจะสังเกตเห็น พารามิเตอร์ /Rทันทีหลังคำสั่ง for ตอนนี้เมื่อฉันรันคำสั่ง คุณจะเห็นว่าพบไฟล์ข้อความพิเศษสองสามไฟล์ในสามไดเร็กทอรีที่อยู่ในไดเร็กทอรีเดียวกัน

รวมไฟล์ข้อความ

ตามปกติของcommand promptมีคำสั่งอื่นที่ให้คุณทำสิ่งเดียวกันกับ คำสั่งFOR ด้านบนได้ (FOR)จริง ๆ แล้วคำสั่งนั้นง่ายกว่ามาก(lot simpler)และถ้ามันทำงานได้ดีสำหรับคุณ คุณสามารถใช้มันแทนวิธีการข้างต้นได้

copy *.txt output.txt

คัดลอกไฟล์ข้อความผสาน

คำสั่งนี้ใช้งานได้ดี แต่ไม่มีตัวเลือกมากเท่ากับคำสั่งก่อนหน้า ตัวอย่างเช่น จะไม่ยอมให้คุณค้นหาซ้ำในโฟลเดอร์ย่อย

วิธีที่ 2 – TXTCollector

TXTCollectorเป็นเครื่องมือรวมไฟล์ข้อความฟรีพร้อมชุดคุณสมบัติที่เหมาะสม ใช้งานง่ายมากและสามารถกำหนดค่าให้ทำงานได้หลายวิธี

รวมไฟล์ข้อความ

ขั้นแรกให้พิมพ์หรือคัดลอก(type or copy)และวางเส้นทางโฟลเดอร์(folder path)ลงใน กล่อง โฟลเดอร์(Folder)ที่ด้านบนหรือเพียงคลิกที่ปุ่มเรียกดูโฟลเดอร์(Browse Folders)  และเลือกโฟลเดอร์ที่มีไฟล์ข้อความ จากนั้นคุณสามารถเลือกประเภทของไฟล์ที่ต้องการรวมได้

ตามค่าเริ่มต้นTXTCollectorจะค้นหาไฟล์TXT ทั้งหมดและรวมเข้าด้วยกัน (TXT)อย่างไรก็ตาม คุณสามารถเลือกจากรายการและรวม(list and combine)หรือรวมไฟล์ CSV(CSV) , BAT , HTM , LOG , REG , XMLและINI หลาย ไฟล์เข้าเป็นไฟล์เดียวได้เช่นกัน!

เลือกช่องรวมโฟลเดอร์ย่อย(Include subfolders)ถ้าคุณต้องการให้TXTCollectorค้นหาซ้ำในแต่ละโฟลเดอร์ย่อยของโฟลเดอร์หลัก TXTCollectorจะแสดงจำนวนไฟล์ที่พบในไดเร็กทอรี

ผสานไฟล์ txt

ถัดไป คุณสามารถเลือกตัวคั่นที่จะปรากฏขึ้นระหว่างแต่ละไฟล์ที่จะถูกรวมเข้าด้วยกัน นี่เป็นคุณลักษณะที่ดีที่คุณไม่ได้รับ(t get)ด้วย วิธี การบรรทัดคำสั่ง (command line method)คุณสามารถเลือกจากเมนูแบบเลื่อนลงหรือเพียงแค่พิมพ์สิ่งที่คุณต้องการลงในช่อง

โดยค่าเริ่มต้น โปรแกรมจะใส่ชื่อไดเร็กทอรี ชื่อ(directory name)ไฟล์(file name) และ ตัวคั่นระหว่างแต่ละไฟล์ หากคุณต้องการรวมไฟล์ต่างๆ อย่างต่อเนื่องโดยไม่มีการแบ่งระหว่างแต่ละไฟล์ ให้ทำเครื่องหมายที่No Separator(No Separator) , No Filename , และNo Carriage Returns

รวมไฟล์ txt หลายไฟล์

จากนั้นคุณจะมีตัวเลือกในการเพิ่มช่องว่าง(space character)ระหว่างไฟล์หรือไม่ สิ่งที่ยอดเยี่ยมเกี่ยวกับTXTCollectorก็คือคุณสามารถปรับแต่งมันได้เอง หากคุณคลิกลิงก์ที่ด้านล่างเรียกว่าExtensions and Separatorsคุณสามารถเพิ่มส่วนขยายของคุณเองในTXTcollector

แก้ไข ไฟล์ extensions.txt ที่ อยู่ใน ไดเร็กทอรี ข้อมูลแอปพลิเคชัน TXTCollector (TXTCollector application)โปรดทราบว่าTXTcollectorจะจัดการ ไฟล์ ข้อความธรรมดา(plain text) เท่านั้น ไม่ว่าจะใช้นามสกุลอะไร ดังนั้นจึงไม่สามารถรวม ไฟล์ XLS หลาย ไฟล์ได้ ตัวอย่างเช่น เว้นแต่จะบันทึกเป็นข้อความ(plain text)ธรรมดา

ข้อจำกัดเพียงอย่างเดียวของโปรแกรมคือสามารถรวมไฟล์ข้อความได้ 32,765 ไฟล์พร้อมกันเท่านั้น ถ้าคุณมีมากกว่านั้น คุณสามารถรวมหลายๆ อันให้เป็นหนึ่งเดียว แล้วรวมอันใหญ่กับอันที่เล็กกว่า ได้มากถึง 32,765!

โดยรวมแล้ว แอปฟรีแวร์(freeware app)ที่เรียบง่ายแต่ทรงพลังสำหรับการรวมไฟล์ข้อความหลายไฟล์ หวังว่า(Hopefully)ทั้งสองวิธีนี้จะได้ผลสำหรับคนส่วนใหญ่ หากคุณพบสถานการณ์ที่ซับซ้อนกว่านี้ โปรดโพสต์ความคิดเห็นและเราจะพยายามช่วยเหลือ

นอกจากนี้ อย่าลืมดูโพสต์อื่นๆ ของฉันเกี่ยวกับวิธีรวมงานนำเสนอ PowerPoint หลายรายการเข้าด้วยกัน (PowerPoint)สนุก!



About the author

ฉันเป็นผู้เชี่ยวชาญด้าน Windows และทำงานในอุตสาหกรรมซอฟต์แวร์มากว่า 10 ปี ฉันมีประสบการณ์กับทั้งระบบ Microsoft Windows และ Apple Macintosh ทักษะของฉัน ได้แก่ การจัดการหน้าต่าง ฮาร์ดแวร์คอมพิวเตอร์และเสียง การพัฒนาแอพ และอื่นๆ ฉันเป็นที่ปรึกษาที่มีประสบการณ์ซึ่งสามารถช่วยให้คุณได้รับประโยชน์สูงสุดจากระบบ Windows ของคุณ



Related posts