Meerdere tekstbestanden combineren of samenvoegen
Er zijn verschillende situaties waarbij u meerdere tekstbestanden in één tekstbestand moet samenvoegen. U kunt bijvoorbeeld een CD ontvangen die honderden tekstbestanden bevat, allemaal in verschillende mappen, die u moet samenvoegen tot één bestand om te importeren in Excel, enz..
Het is ook handig als u netwerklogbestanden, serverlogbestanden of back-uplogboeken hebt die u wilt combineren voor doeleinden van datamining of gegevensanalyse. U kunt op verschillende manieren tekstbestanden samenvoegen en de resultaten verschillen enigszins, afhankelijk van de methode die u kiest.
In dit artikel zal ik schrijven over verschillende manieren om tekstbestanden te combineren, zodat als een methode niet goed werkt, u iets anders kunt proberen.
Methode 1 - Opdrachtprompt
Als de opdrachtprompt goed is, zijn er een paar eenvoudige opdrachten die u kunt gebruiken om snel een hele reeks tekstbestanden samen te voegen. Het voordeel van het gebruik van de opdrachtprompt is dat u geen programma's van derden hoeft te installeren. Als je een kleine inleiding wilt over het gebruik van de opdrachtprompt, bekijk dan mijn beginnershandleiding om de opdrachtprompt te gebruiken.
Omdat de opdrachtregel meerdere parameters kan aannemen, kunt u ook een behoorlijk complexe opdracht maken om te filteren en te sorteren welke bestanden u in het verbindingsproces wilt opnemen. Ik zal de eenvoudigste opdracht uitleggen, maar ik zal ook ingaan op enkele voorbeelden om u te laten zien hoe u de meer gecompliceerde dingen doet.
Open eerst Windows Verkenner en ga naar de map waarin uw tekstbestanden zich bevinden. Als de bestanden in veel submappen zijn opgeslagen, navigeert u naar de bovenliggende map. Houd nu ingedrukt CTRL + SHIFT en klik met de rechtermuisknop op een lege plek in het Explorer-venster.
Hierdoor wordt een opdrachtvenster geopend dat al is ingesteld in de map waarin u zich bevond. Nu hoeft u alleen maar de opdracht in te voeren. Zoals je hierboven kunt zien, heb ik drie tekstdocumenten in de map, samen met een aantal mappen. Als ik alleen de tekstbestanden in deze ene map wil combineren, zou ik deze opdracht geven:
voor% f in (* .txt) typt u "% f" >> c: \ Test \ uitvoer.txt
In codeertaal is dit eenvoudig VOOR lus die alle bestanden doorloopt met .TXT en uitvoert naar een bestand met de naam .TXT output.txt.
Zoals je hierboven kunt zien, voert de lus alleen een aparte opdracht uit voor elk tekstbestand dat in de map wordt gevonden. Merk op dat als u een tekstbestand hebt, maar het een andere extensie heeft zoals .log of .dat, enz., Dan kunt u eenvoudig de * .txt-waarde in de opdracht wijzigen. Het is ook vermeldenswaard dat de uitvoer naar een andere locatie moet zijn dan de huidige map, anders voegt het het uitvoerbestand aan zichzelf toe, omdat het ook een tekstbestand is.
Stel dat u tekstbestanden hebt die zich niet alleen in één map bevinden, maar ook in veel submappen. In dit geval kunnen we een parameter toevoegen aan de opdracht, die het zal laten recursief zoeken naar tekstbestanden in submappen van de huidige map.
voor / R% f in (* .txt) typt u "% f" >> c: \ Test \ uitvoer.txt
Je zult de / R parameter direct na de for-opdracht. Wanneer ik nu het commando uitvoer, zie je dat het een paar extra tekstbestanden vindt in de drie mappen die zich in dezelfde map bevinden.
Zoals gebruikelijk bij de opdrachtprompt, is er feitelijk nog een commando waarmee je hetzelfde kunt doen als de VOOR verklaring hierboven. Het commando is eigenlijk een stuk eenvoudiger en als het goed voor je werkt, voel je dan vrij om het te gebruiken in plaats van de bovenstaande methode.
kopie * .txt output.txt
Deze opdracht werkt goed, maar heeft niet zoveel opties als de vorige opdracht. Het laat u bijvoorbeeld niet toe om recursief door submappen te zoeken.
Methode 2 - TXTCollector
TXTCollector is een gratis tekstbestand-samenvoegwerktuig met een degelijke functieset. Het is heel gemakkelijk te gebruiken en kan op verschillende manieren worden geconfigureerd.
Typ of kopieer en plak eerst het mappad in de Map vak bovenaan of klik gewoon op Blader door mappen knop en selecteer de map met de tekstbestanden. U kunt vervolgens kiezen welk type bestanden u wilt combineren.
Standaard zoekt TXTCollector naar alle TXT-bestanden en combineert deze. U kunt echter uit de lijst kiezen en meerdere CSV-, BAT-, HTM-, LOG-, REG-, XML- en INI-bestanden samenvoegen of samenvoegen tot één!
Controleer de Inclusief submappen box als u wilt dat TXTCollector recursief naar elke submap van de hoofdmap kijkt. TXTCollector laat u precies zien hoeveel bestanden het in de map heeft gevonden.
Vervolgens kunt u een scheidingsteken kiezen dat zal verschijnen tussen elk bestand dat wordt gecombineerd. Dit is een leuke functie die u niet krijgt met de opdrachtregelmethode. U kunt kiezen uit het vervolgkeuzemenu of u kunt gewoon in de doos typen wat u maar wilt.
Standaard plaatst het programma de mapnaam, bestandsnaam en het scheidingsteken tussen elk bestand. Als je de bestanden continu wilt combineren zonder onderbreking tussen elk bestand, vink je uit Geen scheidingsteken, Geen bestandsnaam, en Geen vervoer retourneert.
Je hebt dan de keuze om een spatie tussen de bestanden toe te voegen of niet. Het leuke aan TXTCollector is dat je het echt kunt aanpassen. Als u op de link onderaan klikt genaamd Uitbreidingen en scheidingstekens, u kunt uw eigen uitbreidingen toevoegen aan TXTcollector.
Bewerk de extensions.txt bestand dat zich in de TXTCollector-toepassingsdatadirectory bevindt. Merk op dat TXTcollector alleen onbewerkte tekstbestanden verwerkt, ongeacht welke extensie wordt gebruikt. Daarom kan het niet meerdere XLS-bestanden combineren, tenzij ze worden opgeslagen als gewone tekst.
De enige beperking voor het programma is dat het slechts 32.765 tekstbestanden tegelijkertijd kan combineren. Als je meer dan dat hebt, kun je dat aantal combineren tot een en dan het grote combineren met meer kleinere, tot 32.765!
Over het algemeen een zeer eenvoudige, maar krachtige freeware app voor het combineren van meerdere tekstbestanden. Hopelijk werken deze twee methoden voor de meeste mensen. Als je een situatie tegenkomt die ingewikkelder is, stuur dan gerust een reactie en ik zal proberen te helpen.
Bekijk ook mijn andere bericht over het combineren van meerdere PowerPoint-presentaties. Genieten!