Plan
|
|
Environnement
J'ai pour habitude d'utiliser l'éditeur Crimson Editor. Ce dernier facilite le
développement grâce à sa mise en évidence syntaxique et la
possibilité de regrouper des fichiers sous forme de projet.
Sauf indication contraire, les scripts donnés en exemple doivent être
exécutés sous la ligne de commande.
Pour ce faire, il suffit de lancer le script de la manière suivante :
C:> cscript /nologo <nom_du_script.vbs>
|
L'option /nologo permet de ne pas afficher la
bannière suivante :
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits
réservés.
|
|
Traitements sur fichier
|
Constantes
usuelles
Constantes utilisées par les méthodes FileSystemObject.OpenTextFile et File.OpenAsTextStream :
Mode d'ouverture
|
Constante
|
Valeur
|
Description
|
K_FSO_FOR_READING
|
1
|
Ouvre un fichier en lecture seule. Vous ne pouvez écrire dans ce
fichier.
|
K_FSO_FOR_WRITING
|
2
|
Ouvre un fichier en mode écriture.
Si un fichier portant le même nom existe, son contenu antérieur
est écrasé.
|
K_FSO_FOR_APPENDING
|
8
|
Ouvre un fichier et écrit à la fin de celui- ci.
|
Format de fichier
|
Constante
|
Valeur
|
Description
|
K_FSO_FORMAT_DEFAULT
|
-2
|
Ouvre le fichier en utilisant le paramètre système par
défaut.
|
K_FSO_FORMAT_UNICODE
|
-1
|
Ouvre le fichier au format Unicode.
|
K_FSO_FORMAT_ASCII
|
0
|
Ouvre le fichier au format ASCII.
|
Constantes utilisées par les méthodes FileSystemObject.GetSpecialFolder :
Nom de dossier spécial
|
Constante
|
Valeur
|
Description
|
K_FSO_FOLDER_WIN
|
0
|
Répertoire Windows.
|
K_FSO_FOLDER_SYS
|
1
|
Répertoire Système.
|
K_FSO_FOLDER_TMP
|
2
|
Répertoire Temporaire.
|
Déclarations :
'===============================================================================
'Déclaration des
constantes
'===============================================================================
ConstK_FSO_FOR_READING
= 1 'FSO Mode ouverture fichier
ConstK_FSO_FOR_WRITING
= 2
ConstK_FSO_FOR_APPENDING
= 3
ConstK_FSO_FORMAT_DEFAULT
= -2 'FSO Format fichier texte
ConstK_FSO_FORMAT_UNICODE
= -1
ConstK_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
|
|
Ouvrir un fichier
texte
L'exemple suivant est un aperçu de la façon d'ouvrir un fichier et de le
parcourir de façon séquentiel. Ce script s'ouvre lui même et s'affiche dans
sortie standard.
Fonction utilisée :
|
object.OpenTextFile(nomFichier[,
mode[,
creer[,
format]]])
Ouvre un fichier spécifié et renvoie un objet TextStream qui peut être utilisé pour
lire, écrire et effectuer des ajouts au fichier.
Arguments
|
|
|
object
|
|
|
|
Objet FileSystemObject.
|
|
|
nomFichier
|
|
|
|
Nom du fichier à créer avec ou non son chemin.
|
|
|
mode (optionnel)
|
|
|
|
Mode d'ouverture (voir au dessus).
|
|
|
creer (optionnel)
|
|
|
|
Indique si un nouveau fichier doit être créé si ce dernier
n'existe pas. En cas d'omission, aucun nouveau fichier n'est
créé.
|
|
|
format (optionnel)
|
|
|
|
Indique si le fichier est créé sous forme d'un fichier Unicode.
En cas d'omission, le format ASCII est choisi.
|
Objets requis :
WshShell
|
Permet d'accéder à l'interpréteur de commandes en langage
natif de Windows.
|
FileSystemObject
|
Contient des méthodes et des propriétés qui vous permettent
de créer, supprimer, interroger et plus généralement de
manipuler des lecteurs, des dossiers et des fichiers.
|
Déclarations :
'===============================================================================
'Déclaration des variables
'===============================================================================
DimobjShell
DimobjFSO
DimobjInStream
DimstrFilename
DimstrLine
|
Code :
'Créer les objets WshShell et
FileSystemObject
'------------------------------------------------
Set
objShell = WScript.CreateObject("WScript.Shell")
Set objFSO
= Wscript.CreateObject("Scripting.FileSystemObject")
'Définir le nom du fichier à
ouvrir
'----------------------------------
strFilename = WScript.ScriptFullName
'Ouvrir le fichier
'-----------------
Set
objInStream = objFSO.OpenTextFile(strFilename, _
K_FSO_FOR_READING, _
False, _
K_FSO_FORMAT_DEFAULT)
'Lire les lignes et les
afficher
'-------------------------------
Do While
Not
objInStream.AtEndOfStream
strLine = objInStream.Readline
WScript.Echo strLine
Loop
'Fermer le fichier
'-----------------
objInStream.Close
|
Ligne de commande :
C:> cscript /nologo
open_file.vbs
|
Source : open_file.vbs
|
Créer un fichier
texte
L'exemple suivant un aperçu de la façon de créer un fichier. Il écrit
bêtement la date dans un fichier se trouvant dans le même répertoire. Le
fichier est écrasé à chaque exécution.
Fonction utilisée :
|
object.CreateTextFile(nomFichier[,
ecraser[,
unicode]])
Arguments
|
|
|
object
|
|
|
|
Objet FileSystemObject ou Folder.
|
|
|
nomFichier
|
|
|
|
Nom du fichier à créer avec ou non son chemin.
|
|
|
ecraser (optionnel)
|
|
|
|
Indique si le fichier doit être écrasé. En cas
d'omission, les fichiers existants ne sont pas écrasés.
|
|
|
unicode (optionnel)
|
|
|
|
Indique si le fichier est créé sous forme d'un fichier Unicode.
En cas d'omission, le format ASCII est choisi.
|
Objets requis :
WshShell
|
Permet d'accéder à l'interpréteur de commandes en langage
natif de Windows.
|
FileSystemObject
|
Contient des méthodes et des propriétés qui vous permettent
de créer, supprimer, interroger et plus généralement de
manipuler des lecteurs, des dossiers et des fichiers.
|
Déclarations :
'===============================================================================
'Déclaration des variables
'===============================================================================
DimobjShell
DimobjFSO
DimobjOutStream
DimstrFilename
|
Code :
'Créer les objets WshShell et
FileSystemObject
'------------------------------------------------
Set
objShell = WScript.CreateObject("WScript.Shell")
Set objFSO
= Wscript.CreateObject("Scripting.FileSystemObject")
'Définir le nom du fichier à
ouvrir
'----------------------------------
strFilename = WScript.ScriptFullName
strFilename = Left(strFilename,
Len(strFilename) - 3)
& ".txt"
'Créer le
fichier
'----------------
Set
objOutStream = objFSO.CreateTextFile(strFilename, True)
'Ecrire la date dans le
fichier
'------------------------------
objOutStream.WriteLine Date()
'Fermer le fichier
'-----------------
objOutStream.Close
|
Ligne de commande :
C:> cscript /nologo
create_file.vbs
|
Source : create_file.vbs
|
Créer un fichier
texte temporaire
L'exemple suivant montre comment créer un fichier texte temporaire dont le nom est
généré automatiquement de façon aléatoire.
Fonctions utilisées :
|
object.GetTempName()
Renvoie un nom de fichier ou de dossier généré
aléatoirement.
Arguments
|
|
|
object
|
|
|
|
Objet FileSystemObject.
|
|
object.GetSpecialFolder(dossier)
Renvoie le dossier spécial indiqué.
Arguments
|
|
|
object
|
|
|
|
Objet FileSystemObject.
|
|
|
dossier
|
|
|
|
Numéro de dossier spécial (voir Constantes usuelles).
|
Objets requis :
WshShell
|
Permet d'accéder à l'interpréteur de commandes en langage
natif de Windows.
|
FileSystemObject
|
Contient des méthodes et des propriétés qui vous permettent
de créer, supprimer, interroger et plus généralement de
manipuler des lecteurs, des dossiers et des fichiers.
|
Folder
|
Objet de manipulation de répertoire.
|
Déclarations :
'===============================================================================
'Déclaration des variables
'===============================================================================
DimobjShell
DimobjFSO
Dim strTmpFilename
|
Code :
'Créer les objets WshShell et
FileSystemObject
'------------------------------------------------
Set
objShell = WScript.CreateObject("WScript.Shell")
Set objFSO
= Wscript.CreateObject("Scripting.FileSystemObject")
'Créer un fichier temporaire
'---------------------------
Set objTempFolder =
objFSO.GetSpecialFolder(K_FSO_FOLDER_TMP)
strTmpFilename =
objFSO.GetTempName
Set objTmpFile =
objTempFolder.CreateTextFile(strTmpFilename)
'...INSERER LE CODE ICI...
'Supprimer le fichier
temporaire
'-------------------------------
objFSO.DeleteFile strTmpFilePath
|
|
|
Sources
|
Supprimer toutes les lignes vides d'un fichier texte
Description :
|
|
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 :
|
|
CompresserLigne.vbs
<nom_du_fichier>
|
|
Indenter un fichier HTML
Description :
|
|
Refait l'indentation du fichier HTML dont le nom est passé en
paramètre en s'appuyant sur les balises :
<head>,<body>,<table>,<tr> et <td>
|
Utilisation :
|
|
IndenterHTML.vbs <nom_du_fichier>
|
|
|
Liens
|
|
Historique
Version
|
Date
|
Commentaire
|
1.0
|
05/04/2006
|
Version initiale
|
1.1
|
08/04/2006
|
Ajout de Créer un fichier texte
|
1.1a
|
10/04/2006
|
Ajout de Créer un fichier temporaire
|
|
|
|
|