Comment combiner ou fusionner plusieurs fichiers texte

Il existe plusieurs occasions où vous devrez peut-être fusionner plusieurs fichiers texte(text file) en un seul  fichier texte(text file) . Par exemple, vous pouvez recevoir un CD contenant des centaines de fichiers texte(text file) , tous dans des répertoires différents, que vous devez combiner en un seul fichier pour l'importer dans Excel , etc.

Il est également utile si vous disposez de fichiers journaux réseau(network log) , de fichiers journaux de serveur ou de journaux de sauvegarde que vous souhaitez combiner à des fins d'exploration de données ou d'analyse de données(mining or data analysis) . Il existe plusieurs façons de joindre des fichiers texte et les résultats sont légèrement différents selon la méthode que vous choisissez.

Dans cet article, j'écrirai sur plusieurs façons de combiner des fichiers texte afin que si une méthode ne(method doesn) fonctionne pas trop bien, vous puissiez essayer autre chose.

Méthode 1 - Invite de commandes

Si vous êtes d'accord avec l' invite(command prompt) de commande, vous pouvez utiliser quelques commandes simples pour fusionner rapidement tout un tas de fichiers texte. L'avantage d'utiliser l' invite de commande(command prompt) est que vous n'avez pas besoin d'installer de programmes tiers. Si vous voulez un peu d'introduction sur l'utilisation de l' invite de commande , consultez mon (command prompt)guide(s guide) du débutant pour utiliser l' invite de commande(command prompt) .

De plus, comme la ligne de commande(command line) peut prendre plusieurs paramètres, vous pouvez vraiment créer une commande assez complexe pour filtrer et trier(filter and sort) les fichiers que vous souhaitez inclure dans le processus de jointure(joining process) . J'expliquerai la commande la plus simple, mais j'approfondirai également quelques exemples pour vous montrer comment faire les choses les plus compliquées.

Tout d'abord, ouvrez l' Explorateur Windows(Windows Explorer) et accédez au répertoire où se trouvent vos fichiers texte. Si les fichiers sont stockés dans de nombreux sous-dossiers, accédez au répertoire parent(parent directory) . Maintenant, maintenez enfoncées les CTRL + SHIFT , puis cliquez avec le bouton droit sur n'importe quel emplacement vide de la fenêtre de l'explorateur(Explorer window) .

ouvrir la fenêtre de commande ici

Cela ouvrira une fenêtre de commande(command window) qui est déjà définie sur le répertoire dans lequel vous vous trouviez. Il ne nous reste plus qu'à taper la commande. Comme vous pouvez le voir ci-dessus, j'ai trois documents texte dans le dossier avec quelques dossiers. Si je veux seulement combiner les fichiers texte dans ce dossier, j'émettrais cette commande :

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

En langage de codage, il s'agit d'une simple boucle FOR qui parcourt tous les fichiers se terminant par (FOR).TXT et les génère dans un fichier appelé output.txt .

combiner txt cmd

Comme vous pouvez le voir ci-dessus, la boucle exécute simplement une commande distincte pour chaque fichier texte(text file) qu'elle trouve dans le répertoire. Notez que si vous avez un fichier texte(text file) , mais qu'il a une extension différente comme .log ou .dat(.log or .dat) , etc., vous pouvez simplement modifier la valeur *.txt dans la commande. Il convient également de noter que la sortie doit être à un emplacement différent de celui du répertoire actuel, sinon il ajoutera le fichier de sortie(output file) à lui-même car il s'agit également d'un fichier texte(text file) .

Supposons maintenant que vous ayez des fichiers texte situés non seulement dans un dossier, mais dans de nombreux sous-dossiers. Dans ce cas, nous pouvons ajouter un paramètre à la commande, qui lui indiquera de rechercher de manière récursive des fichiers texte dans tous les sous-dossiers du répertoire en cours.

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

Vous remarquerez le paramètre /RMaintenant, lorsque j'exécute la commande, vous verrez qu'elle trouve quelques fichiers texte supplémentaires dans les trois répertoires qui se trouvent dans le même répertoire.

fusionner des fichiers texte

Comme d'habitude avec l' invite de commande(command prompt) , il existe en fait une autre commande qui vous permet de faire la même chose que l' instruction FOR  ci-dessus. La commande est en fait beaucoup plus simple(lot simpler) et si elle fonctionne bien pour vous, n'hésitez pas à l'utiliser à la place de la méthode ci-dessus.

copy *.txt output.txt

copier des fichiers texte de fusion

Cette commande fonctionne bien, mais n'a pas autant d'options que la commande précédente. Par exemple, il ne vous permettra pas de rechercher de manière récursive dans les sous-dossiers.

Méthode 2 - TXTCollector

TXTCollector est un outil de fusion de fichiers texte gratuit avec un ensemble de fonctionnalités décent. Il est très facile à utiliser et peut être configuré pour fonctionner de différentes manières.

combiner des fichiers texte

Tout d'abord, tapez ou copiez(type or copy) et collez le chemin du dossier(folder path) dans la zone Dossier(Folder) en haut ou cliquez simplement sur le bouton Parcourir les dossiers(Browse Folders)  et sélectionnez le dossier contenant les fichiers texte. Vous pouvez ensuite choisir le type de fichiers que vous souhaitez combiner.

Par défaut, TXTCollector recherchera tous les fichiers TXT et les combinera. Cependant, vous pouvez choisir dans la liste et combiner(list and combine) ou fusionner plusieurs fichiers CSV , BAT , HTM , LOG , REG , XML et INI en un seul !

Cochez la case Inclure les sous-dossiers(Include subfolders) si vous souhaitez que TXTCollector examine(TXTCollector) de manière récursive chaque sous-dossier du dossier principal. TXTCollector vous montrera exactement combien de fichiers il a trouvés dans le répertoire.

fusionner des fichiers txt

Ensuite, vous pouvez choisir un séparateur qui apparaîtra entre chaque fichier en cours de combinaison. C'est une fonctionnalité intéressante que vous n'obtenez pas(t get) avec la méthode de la ligne de commande(command line method) . Soit vous pouvez choisir dans le menu déroulant, soit vous pouvez simplement taper ce que vous voulez dans la case.

Par défaut, le programme placera le nom du répertoire(directory name) , le nom du fichier(file name) et le séparateur entre chaque fichier. Si vous souhaitez combiner les fichiers en continu sans interruption entre chaque fichier, cochez No Separator , No Filename et No Carriage Returns .

combiner plusieurs fichiers txt

Vous aurez alors le choix d'ajouter ou non un espace(space character) entre les fichiers. Ce qui est cool avec TXTCollector , c'est que vous pouvez vraiment le personnaliser. Si vous cliquez sur le lien en bas intitulé Extensions et séparateurs(Extensions and Separators) , vous pouvez ajouter vos propres extensions à TXTcollector .

Modifiez le fichier extensions.txt situé dans le répertoire de données de l' application TXTCollector(TXTCollector application) . Notez que TXTcollector ne gère que les fichiers texte brut(plain text) , quelle que soit l'extension utilisée. Par conséquent, il ne peut pas combiner plusieurs fichiers XLS , par exemple, à moins qu'ils ne soient enregistrés en tant que texte brut(plain text) .

La seule limitation du programme est qu'il ne peut combiner que 32 765 fichiers texte à la fois. Si vous en avez plus, vous pouvez en combiner autant en un seul, puis combiner le grand avec des plus petits, jusqu'à 32 765 !

Dans l'ensemble, une application gratuite(freeware app) très simple mais puissante pour combiner plusieurs fichiers texte. Espérons que(Hopefully) ces deux méthodes fonctionneront pour la plupart des gens. Si vous avez rencontré une situation plus compliquée, n'hésitez pas à poster un commentaire et j'essaierai de vous aider.

Assurez-vous également de consulter mon autre article sur la façon de combiner plusieurs présentations PowerPoint . Prendre plaisir!



About the author

Je suis un ingénieur logiciel expérimenté, avec plus de 10 ans d'expérience dans le développement et la maintenance d'applications Microsoft Office. J'ai une forte passion pour aider les autres à atteindre leurs objectifs, à la fois par mon travail d'ingénieur logiciel et par mes compétences en prise de parole en public et en réseautage. Je suis également extrêmement compétent en matière de pilotes de matériel et de clavier, ayant développé et testé plusieurs d'entre eux moi-même.



Related posts