Vous avez besoin parfois d’exporter diverses informations (listes d’utilisateurs, droits d’accès NTFS d’une ressource, liste d’objets divers etc…) dans un format texte (.CSV, .LOG ou encore .TXT ), mais votre fichier d’export est envahit d’une multitude de lignes en doubles …
Plutôt que d’importer le fichier texte dans Excel puis de créer une macro qui va balayer les lignes et supprimer les doublons, puis d’exporter à nouveau le document en format texte avant de le réintégrer dans une applications tiers, je vous propose de le faire directement en VB Script. C’est simple, rapide, et tout ce fait directement en mémoire vive, sans passer par un fichier tampon. Vous avez la possibilité de réécrire dans le fichier texte source ou d’écrire dans un nouveau fichier afin de ne pas modifier la source.
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
Ou c:\namelist_source.txt correspond au nom du fichier source et c:\namelist_cible.txt au nom du fichier cible.
La source et la cible peuvent être identique !
contribuer
[ Devenir rédacteur sur SysKB ]
rechercher
voter
explorer
la logithèque (Windows | iPhone | Windows Phone 7)
- derniers logiciels
-
- [Version bêta] Chrome
- Filezilla
- Opera
- VirtualBox
- Defraggler
- Wireshark
- CCleaner
- Firefox
- Autoruns
- AVG Free Edition
partenaires
- services en ligne
-
- Envoyer des gros fichiers avec Free
- DNS Lookup
- Calculer un sous réseau
RSS
Email
Twitter
Le 21 Mar. 2007 par hatmos
1 commentaire
Ils en parlent sur le forum
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.
Comment par JJ Bourgain le 25 October 2007 a 11:34Flux RSS sur les commentaires de cet article · TrackBack URI
Laissez un commentaire sur le forum