Le modèle d'objet FileSystemObject donne accès au système de fichiers du côté serveur.
La création d'un modèle d'objet FileSystemObject s'effectue par l'intermédiaire d'une des commandes citées ci-dessous, la première étant utilisée pour VBScript, la seconde pour JScript.
Set objet_fso = Server.CreateObject("Scripting.FileSystemObject")
objet_fso = new ActiveXObject("Scripting.FileSystemObject")
En conséquence, une application côté serveur pourra accéder à l'ensemble des lecteurs de disques durs ou de cédéroms d'un ordinateur, manipuler les dossiers et fichiers présents sur ces disques durs en les créant, les modifiant, les déplaçant ou en les supprimant. Les fichiers pourront être ouverts et ainsi livrer leur contenu pour une lecture ou l'écriture ou encore dans l'optique d'une conversions de format.
Il n'est pas possible d'utiliser le modèle d'objet FileSystemObject sur une station cliente pour des raisons évidentes de sécurités.
Le modèle d'objet FileSystemObject contient une collection d'objets lui permettant de parvenir à ses fins.
Objet | Description |
---|---|
Drive | : représente les lecteurs de disques durs et de cédéroms. |
Drives | : représente une collection de lecteurs Drive. |
Folder | : représente les répertoires, ou dossiers des lecteurs. |
Folders | : représente une collection de répertoires Folder. |
File | : représente les fichiers présents sur les lecteurs. |
Files | : représente une collection de fichiers File. |
TextStream | : permet la lecture et l'écriture dans les fichiers textes. |
Propriété |
---|
Description |
Drives |
renvoie une collection Drives composée de tous les objets Drive disponibles sur la machine cliente. |
Méthode |
---|
Description |
BuildPath(chemin, nom) |
ajoute un nom à un chemin existant. |
CopyFile(source, destination, bool_ecrase) |
copie un ou plusieurs fichiers d'un emplacement à un autre. |
CopyFolder(source, destination, bool_ecrase) |
copie de façon récursive un dossier d'un emplacement à un autre. |
CreateFolder(nom_dossier) |
crée un dossier. |
CreateTextFile(fichier, bool_ecrase, unicode_ASCII) |
crée le nom d'un fichier spécifié et renvoie un objet TextStream qui peut être utilisé pour lire ou écrire dans le fichier. |
DeleteFile(fichier_supprimer, bool_forçage) |
supprime un fichier spécifié. |
DeleteFolder(dossier_supprimer, bool_forçage) |
supprime un dossier spécifié et son contenu. |
DriveExists(lecteur) |
renvoie True si le lecteur spécifié existe et False dans le cas contraire. |
FileExists(fichier) |
renvoie True si un fichier spécifié existe et False dans le cas contraire. |
FolderExists(dossier) |
renvoie True si un dossier spécifié existe et False dans le cas contraire. |
GetAbsolutePathName(chemin) |
renvoie un chemin d'accès complet et sans ambiguïté à partir d'une spécification de chemin fournie. |
GetBaseName(chemin) |
renvoie une chaîne contenant le nom de base du dernier composant d'un chemin d'accès, sans extension de fichier. |
GetDrive(lecteur) |
Renvoie un objet Drive correspondant au lecteur spécifié dans un chemin d'accès. |
GetDriveName(chemin) |
renvoie une chaîne contenant le nom correspondant au lecteur spécifié dans un chemin d'accès. |
GetExtensionName(chemin) |
Renvoie une chaîne contenant le nom d'extension du dernier composant d'un chemin d'accès. |
GetFile(fichier) |
renvoie un objet File correspondant à un nom de fichier situé dans un chemin d'accès spécifié. |
GetFileName(chemin) |
renvoie le dernier composant du chemin spécifié qui ne fait pas partie de la spécification du lecteur. |
GetFolder(chemin) |
renvoie un objet Folder qui correspond à un dossier spécifié dans un chemin d'accès. |
GetParentFolderName(chemin) |
renvoie une chaîne contenant le nom du dossier parent du dernier composant d'un chemin spécifié. |
GetSpecialFolder(dossier) |
Renvoie l'objet dossier spécial indiqué. |
GetTempName() |
renvoie un nom de dossier ou de fichier temporaire généré de façon aléatoire, utile pour les opérations qui requièrent ce genre de dossiers ou de fichiers. |
MoveFile(source, destination) |
déplace un ou plusieurs fichiers d'un emplacement à un autre. |
MoveFolder(source, destination) |
déplace un ou plusieurs dossiers d'un endroit à un autre. |
OpenTextFile(fichier, iomode, bool_création, format) |
Ouvre un fichier spécifié et renvoie un objet TextStream qui peut être utilisé pour lire, écrire et effectuer des ajouts au fichier. |
<html> <head> <title>Démonstration de FileSystemObject</title> <script language="VBScript"> function effacer_fichier(chemin) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(chemin) End Function function Voir_info(chemin) Dim fso Dim fichier Dim caracteristique Set fso = CreateObject("Scripting.FileSystemObject") Set fichier = fso.CreateTextFile("c:\\texte.txt", true) Set fichier = fso.GetFile(chemin) caracteristique = fichier.Path.toUpperCase() & "<br>" caracteristique = caracteristique & "Créé le : " _ & fichier.DateCreated & "<br>" caracteristique = caracteristique & "Dernier accès le : " _ & fichier.DateLastAccessed & "<br>" caracteristique = caracteristique & "Dernière modification le : " _ & fichier.DateLastModified Response.Write caracteristique End Function </script> </head> <body> <b class="soustitre">Voir les caractéristique du fichier : c:&texte.txt...</b><br> <i>Si ce fichier n'est pas créé sous la racine de C:&, créez-le afin que ce script puisse fonctionner.</i> <br><br> <a href="javascript:Voir_info('c:&&texte.txt')"><b> Caractéristiques </b></a><br> <a href="javascript:effacer_fichier('c:&&texte.txt')"><b> Supprimer ce fichier </b></a> </body> </html> |
La partie de programme ci-dessous est écrit en JScript.
... <script language="JScript"> function effacer_fichier(chemin) { var fso; fso = new ActiveXObject('Scripting.FileSystemObject'); fso.DeleteFile(chemin); } function Voir_info(chemin) { var fso; var fichier = ""; var caracteristique = ""; fso = new ActiveXObject('Scripting.FileSystemObject'); fichier = fso.CreateTextFile("c:\\texte.txt", true); fichier = fso.GetFile(chemin); caracteristique = fichier.Path.toUpperCase() + "<br>"; caracteristique += "Créé le : " + fichier.DateCreated + "<br>"; caracteristique += "Dernier accès le : " + fichier.DateLastAccessed + "<br>"; caracteristique += "Dernière modification le : " + fichier.DateLastModified document.write(caracteristique); } </script> ... |