Supprimer automatiquement les doublons dans un fichier texte en VBScript

Devez-vous vraiment installer un VPN sur votre ordinateur ou votre smartphone?

Si vous téléchargez des films illégalement, si vous voulez surfer sur Internet de façon anonyme sans que le gouvernement, votre FAI ou votre employeur soit au courant ... OUI installer un VPN est définitivement une bonne idée.

Installer un VPN consiste à chiffrer toutes vos communications vers Internet. Ce n'est plus votre ordinateur qui est exposé sur Internet mais votre fournisseur de VPN.

Anonymat NordVPN

Je vous propose un petit script en VBScript permettant de supprimer toutes les lignes en double dans n’importe quel fichier texte sous Windows (CSV, INI, LOG, TXT, …).

Ce petit script vous évitera d’avoir à importer le fichier texte dans Excel, de créer une macro qui va balayer les lignes pour supprimer les doublons, puis d’exporter à nouveau le document en format texte.

Au delà de la simplicité, le processus est également beaucoup plus rapide qu’en passant par Excel.

Le script permet de modifier le directement le fichier source mais vous pouvez également écrire le résultat dans un nouveau fichier.

Copiez le code suivant dans un fichier portant l’extension .vbs

Const ForReading = 1
Const ForWriting = 2
Set objDictionary = CreateObject("Scripting.Dictionary")

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile _
("c:\namelist_source.txt", ForReading)

Do Until objFile.AtEndOfStream
strName = objFile.ReadLine
If Not objDictionary.Exists(strName) Then
objDictionary.Add strName, strName
End If
Loop

objFile.Close

Set objFile = objFSO.OpenTextFile _
("c:\namelist_cible.txt", ForWriting)

For Each strKey in objDictionary.Keys
objFile.WriteLine strKey
Next

objFile.Close

Remplacez c:\namelist_source.txt par le nom du fichier source dans lequel vous souhaitez supprimer des doublons et c:\namelist_cible.txt par le nom du fichier cible.

La source et la cible peuvent être identique si vous souhaitez écraser le fichier d’origine

2 réflexions au sujet de “Supprimer automatiquement les doublons dans un fichier texte en VBScript”

  1. Bonjour,

    Ce script fonctionne sur les fichiers cr�es sous un �diteur.
    Si je cr�e un fichier en VB comme suit :

    Set wshshell = CreateObject(“wscript.shell”)
    Set Fic_monfic = fso.CreateTextFile(monfic, ForWriting, True)
    Fic_monfic.WriteLine “AAAA”
    …. etc

    les doublons sont supprim�s mais le retour est sur une seule ligne avec des s�parateurs ‘carr�s’ .

    AAAA � � � � � �CCC � � � � DD � �

    � repr�sentant un carr�.

    Comment puis-je r�gler ce probl�me de format dans ce script ?

    Merci de vos r�ponses.

    Répondre

Laisser un commentaire

Cliquez ici pour révoquer votre décision.