Option Explicit '=============================================================================== 'Contexte : slc66.net - Outils '=============================================================================== 'Nom du fichier : CompresserLigne.vbs ' 'Auteur : stephane.lecaer@slc66.net ' 'Version : 1.0 04/03/2006 Version initiale ' '------------------------------------------------------------------------------- 'Description : ' Supprimer toutes les lignes vides d'un fichier texte. ' ' Ce script ouvre le fichier texte dont le nom est passé en paramètre ' et supprime toutes le lignes ne contenant aucun caractère. ' Une ligne ne contenant que des espace n'est pas concidérée comme vide. ' 'Utilisation : ' Sous la ligne de commande : ' CompresserLigne.vbs ' '=============================================================================== '=============================================================================== 'Déclaration des constantes '=============================================================================== Const K_FSO_FOR_READING = 1 'FSO Mode ouverture fichier Const K_FSO_FOR_WRITING = 2 Const K_FSO_FOR_APPENDING = 3 Const K_FSO_FORMAT_DEFAULT = -2 'FSO Format fichier texte Const K_FSO_FORMAT_UNICODE = -1 Const K_FSO_FORMAT_ASCII = 0 Const K_FSO_FOLDER_WIN = 0 'FSO Dossiers Spéciaux Const K_FSO_FOLDER_SYS = 1 Const K_FSO_FOLDER_TMP = 2 '=============================================================================== 'Déclaration des variables '=============================================================================== Dim objArgs Dim strFilePath Dim strTmpFilePath Dim strTmpFilename Dim objFSO Dim objTempFolder Dim objFile Dim objTmpFile Dim objTextStream Dim strLine Dim blnError '=============================================================================== 'DEBUT DU PROGRAMME '=============================================================================== 'Initialisation '-------------- blnError = False 'Lire les arguments de la ligne de commande '------------------------------------------ Set objArgs = WScript.Arguments 'Si un nom de fichier est passé en paramètre '------------------------------------------- If (objArgs.Count >= 1) Then 'Récupérer le nom de fichier à traiter '------------------------------------- strFilePath = objArgs(0) Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject") 'Si le fichier existe '-------------------- If objFSO.FileExists(strFilePath) Then 'Créer un fichier temporaire '--------------------------- Set objTempFolder = objFSO.GetSpecialFolder(K_FSO_FOLDER_TMP) strTmpFilename = objFSO.GetTempName Set objTmpFile = objTempFolder.CreateTextFile(strTmpFilename) msgbox strTmpfilename 'Ouvrir le fichier à traiter '--------------------------- Set objFile = objFSO.GetFile(strFilePath) Set objTextStream = objFile.OpenAsTextStream(K_FSO_FOR_READING, K_FSO_FORMAT_DEFAULT) 'Ecrire dans le fichier temporaire les lignes du fichier à traiter 'à l'exception des lignes vides '----------------------------------------------------------------- Do While Not objTextStream.AtEndOfStream strLine = objTextStream.ReadLine If (strLine <> "") Then If Not objTextStream.AtEndOfStream Then objTmpFile.WriteLine strLine Else objTmpFile.Write strLine End if End if Loop 'Fermer les fichiers '------------------- objTextStream.Close objTmpFile.Close 'Remplacer le fichier à traiter par le fichier temporaire '-------------------------------------------------------- strTmpFilePath = objTempFolder.Path & "\\" & strTmpFilename objFSO.CopyFile strTmpFilePath, strFilePath objFSO.DeleteFile strTmpFilePath 'Indiquer la fin du déroulement '------------------------------ WScript.Echo "C'est Fini !" Else 'Signaler l'erreur '----------------- WScript.Echo "Le fichier " & _ strFilePath & _ " est introuvable !" blnError = True End If Else 'Afficher l'aide '--------------- WScript.Echo "CompresserLigne.vbs - 1.0 " & vbCrLf & _ "par stephane.lecaer@slc66.net " & vbCrLf & _ " " & vbCrLf & _ " Description : " & vbCrLf & _ " Supprimer toutes les lignes vides d'un fichier texte. " & vbCrLf & _ " " & vbCrLf & _ " Ce script ouvre le fichier texte dont le nom est passé en paramètre " & vbCrLf & _ " et supprime toutes le lignes ne contenant aucun caractère. " & vbCrLf & _ " Une ligne ne contenant que des espace n'est pas concidérée comme vide. " & vbCrLf & _ " " & vbCrLf & _ " Utilisation : " & vbCrLf & _ " CompresserLigne.vbs " & vbCrLf & _ " " blnError = True End If 'Sortir du programme '------------------- If blnError Then WScript.Quit -1 Else WScript.Quit 0 End If '=============================================================================== 'FIN DU PROGRAMME '===============================================================================