FSO signifie FileSystemObject, qui est l'objet du système de fichiers. Le modèle objet FSO est inclus dans la bibliothèque de types de script (Scrrun.Dll). Il contient également cinq objets : Drive, Folder, File, FileSystemObject et TextStream. Il est très pratique d'exploiter les propriétés des objets fichier et dossiers FSO.
DateCreated renvoie la date et l'heure de création du dossier
DateLastAccessed renvoie la date et l'heure auxquelles le fichier a été consulté pour la dernière fois
DateLastModified renvoie la date et l'heure auxquelles le fichier a été modifié pour la dernière fois
Drive renvoie l'objet Drive du lecteur où se trouve le fichier.
Name définit ou renvoie le nom du fichier
ParentFolder renvoie l'objet Folder du dossier parent du fichier
Path renvoie le chemin absolu du fichier, des noms de fichiers longs peuvent être utilisés
ShortName renvoie la forme DOS 8.3 du nom de fichier.
ShortPath renvoie un chemin absolu de style DOS 8.3 vers un fichier
Size renvoie la taille du fichier (octets)
Type Si possible, renvoie une chaîne décrivant le type de fichier.
Méthodes d'objet de fichier FSO (Fichier)
Utilisation de la méthode objet fichier FSO
CopyFile copie un ou plusieurs fichiers vers un nouveau chemin
CreateTextFile crée un fichier et renvoie un objet TextStream
DeleteFile supprime un fichier
OpenTextFile ouvre un fichier et renvoie un objet TextStream pour la lecture ou l'ajout
Renommez le fichier :
Copiez le code comme suit :
Fonction reName(sourceName,destName)
dim oFso,oFichier
définir oFso=server.createobject (Scripting.FileSystemObject)
set oFile=oFso.getFile(Server.mappath(sourceName))
oFile.Name = nom de destination
Définir oFso=Rien
Définir oFile=Rien
Fonction de fin
Supprimer des fichiers :
Copiez le code comme suit :
Fonction FSOdel(fileName)
faible fso,f
set fso = serveur.CreateObject (scripting.filesystemobject)
f=server.MapPath(fileName)
si fso.FileExists(f) alors
fso.DeleteFile f, vrai
finir si
définir f = rien
définir fso = rien
Fonction de fin
Remplacer une chaîne dans un fichier :
Copiez le code comme suit :
Fonction FSOreplace (fileName, Target, repString)
Dim objFSO, objCountFile, FiletempData
Définir objFSO = Server.CreateObject (Scripting.FileSystemObject)
Définir objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True)
FiletempData = objCountFile.ReadAll
objCountFile.Fermer
FiletempData=Remplacer (FiletempData,Target,repString)
Définir objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True)
objCountFile.Write FiletempData
objCountFile.Fermer
Définir objCountFile=Rien
Définir objFSO = Rien
Fonction de fin
<%
'************************************************ * ***
'Nom de la fonction : CreateFolder(sPath)
'Fonction : Créer un répertoire
'Paramètre : sPath : chemin de répertoire relatif créé
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
'response.Write createfolder(/dgsunshine/UploadFile/demo1/)
Fonction CreateFolder(sPath)
En cas d'erreur, reprendre ensuite
Dim Fso,Arrfolder,Dossier,i,j
Si sPath= alors
CreateFolder = Faux
Fonction de sortie
Fin si
Si Gauche(sPath,1) = / Alors
Dossier = /
sPath = Milieu(sPath,2,Len(sPath))
Autre
Dossier = ./
Fin si
si Droite(sPath,1) = / alors sPath = Gauche(sPath,Len(sPath)-1)
ArrFolder = Split(sChemin,/)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
Pour i = 0 Vers Ubound (ArrFolder)
Si je = 0 alors
Dossier = Dossier & ArrFolder(i) & /
Autre
Dossier = Dossier & ArrFolder(i) & /
Fin si
Si Fso.folderExists(Server.MapPath(Folder)) = False alors
réponse.Write server.MapPath (dossier)
Fso.createFolder(Server.MapPath(Dossier))
Fin si
Suivant
Définir Fso = rien
Si Err.Number <> 0 alors
Err.clear()
CreateFolder = Faux
Autre
CreateFolder = Vrai
Fin si
Fin de fonction
Fonction getFile(paramFilePath)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
Définir Fso_Read = fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2)
getFile = Fso_Read.readall
Définir Fso_Read = Rien
Définir Fso = Rien
Fonction de fin
'************************************************ * ***
'Nom de la fonction : CreateFile(paramFileContent,paramFilePath)
'Fonction : Créer un fichier
'Paramètre : paramFileContent 'Le contenu du fichier
' paramFilePath 'Nom du fichier (hors chemin)
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction CreateFile (paramFileContent, paramFilePath)
En cas d'erreur, reprendre ensuite
Dim Fso,fEcriture
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
Définir fWrite = Fso.CreateTextFile(Server.Mappath(paramFilePath),true)
fWrite.write paramFileContent
fÉcrire.close()
Définir fWrite = rien
Définir Fso = rien
Si Numéro d'erreur <> 0 Alors
Err.clear()
CréerFichier = Faux
Autre
CréerFichier = Vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : DelFile(FilePath)
'Fonction : supprimer des fichiers
'Paramètre : FilePath 'Chemin du fichier plusieurs fichiers séparés par |
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction DelFile(FilePath)
En cas d'erreur, reprendre ensuite
Dim fso,arrFichier,i
Si GetSafeStr(FilePath,)= alors
CreateFolder = faux
Fonction de sortie
Fin si
arrFile = Split(CheminFichier,|)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
pour i=0 à UBound(arrFile)
CheminFichier = arrFichier(i)
Si Fso.FileExists(Server.MapPath(FilePath)) alors
Fso.DeleteFile Server.MapPath(FilePath)
Fin si
Suivant
Définir fso = rien
Si Err alors
Err.clear()
DelFile = faux
Autre
DelFile = vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : DelFolder (FolderPath)
'Fonction : supprimer le répertoire
'Paramètre : FolderPath 'Chemin du répertoire' Plusieurs répertoires sont séparés par |
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction DelFolder (FolderPath)
En cas d'erreur, reprendre ensuite
Dim Fso,arrFolder,i
Si GetSafeStr(FolderPath,)= alors
DelFolder = faux
Fonction de sortie
Fin si
arrFolder = Split (Chemin du dossier, |)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
Pour i=0 à UBound(arrFolder)
Chemin du dossier = arrDossier(i)
Si Fso.folderexists(Server.MapPath(FolderPath)) alors
Fso.deleteFolder Server.MapPath(FolderPath)
Fin si
Suivant
Si Err alors
Err.clear()
DelFolder = faux
'ShowError Échec de la suppression du répertoire,
autre
DelFolder = vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : IsExistFile(FilePath)
'Fonction : Déterminer si le fichier ou le répertoire existe
'Paramètre : FilePath 'Chemin du fichier plusieurs fichiers séparés par |
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction IsExistFile (FilePath)
En cas d'erreur, reprendre ensuite
Dim fso,arrFichier,i
Si GetSafeStr(FilePath,)= alors
IsExistFile = faux
Fin si
arrFile = Split(CheminFichier,|)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
pour i=0 à UBound(arrFile)
CheminFichier = arrFichier(i)
Si Fso.FileExists(Server.MapPath(FilePath)) alors
IsExistFile = Vrai
Fin si
Si Fso.folderexists(Server.MapPath(FilePath)) alors
IsExistFile = Vrai
Fin si
Suivant
Définir fso = rien
Si Err alors
Err.clear()
IsExistFile = faux
'ShowError Impossible de déterminer si le fichier ou le répertoire existe,
autre
IsExistFile = vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : DelFile(FilePath)
'Fonction : supprimer des fichiers ou des répertoires
'Paramètre : FilePath 'Chemin du fichier plusieurs fichiers séparés par |
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction DelFile(FilePath)
En cas d'erreur, reprendre ensuite
Dim fso,arrFichier,i
Si GetSafeStr(FilePath,)= alors
CreateFolder = faux
Fin si
arrFile = Split(CheminFichier,|)
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
pour i=0 à UBound(arrFile)
CheminFichier = arrFichier(i)
Si Fso.FileExists(Server.MapPath(FilePath)) alors
Fso.DeleteFile Server.MapPath(FilePath)
Fin si
Si Fso.folderexists(Server.MapPath(FilePath)) alors
Fso.deleteFolder Server.MapPath(FilePath)
Fin si
Suivant
Définir fso = rien
Si Err alors
Err.clear()
DelFile = faux
'ShowError La suppression du fichier ou du répertoire a échoué,
autre
DelFile = vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : ReNameFile((oldName,newName)
'Fonction : Renommer des fichiers ou des répertoires
'Paramètre : strOldName 'Plusieurs noms de fichiers originaux sont séparés par |
' strNewName ' Plusieurs nouveaux noms de fichiers sont séparés par |
'Veuillez garder les deux paramètres ci-dessus cohérents
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction ReNameFile(strOldName,strNewName)
En cas d'erreur, reprendre ensuite
Dim fso,arrOld,arrNew,i,oldName,newName
ancien = GetSafeStr(strOldName,)
Nouveau fichier = GetSafeStr (strNouveauNom,)
Si ancien = ou Nouveaufichier = alors
ReNameFile = faux
Fonction de sortie
Fin si
arrOld = Split (strOldName, |)
arrNouveau = Split(strNouveauNom,|)
Si UBound(arrOld)<> UBound(arrNew) alors
ReNameFile = faux
Fonction de sortie
Fin si
Définir Fso = Server.CreateObject (Scripting.FileSystemObject)
pour i=0 à UBound(arrOld)
oldName = Server.MapPath(arrOld(i))
newName = Server.MapPath(arrNew(i))
Si Fso.FileExists(oldName) et non Fso.FileExists(newName) alors
fso.MoveFile ancienNom,nouveauNom
'ReNameFile = Vrai
Fin si
Suivant
Définir fso = rien
Si Err.Number <> 0 Alors
Err.clear()
ReNameFile = faux
Autre
ReNameFile = Vrai
Fin si
Fonction de fin
'************************************************ * ***
'Nom de la fonction : CopyFiles((TempSource,TempEnd)
'Fonction : Copier des fichiers ou des répertoires
'Paramètre : TempSource 'Les noms de fichiers sources multiples sont séparés par |
'TempEnd' Les noms de fichiers de destination multiples sont séparés par |
' Remarque : Veuillez conserver la cohérence des deux paramètres ci-dessus et les deux sont des chemins complets.
'A été traité par la méthode Server.MapPath
'Valeur de retour : vrai en cas de succès, faux en cas d'échec
'************************************************ * ***
Fonction CopyFiles (TempSource, TempEnd)
En cas d'erreur, reprendre ensuite
Dim CopieFSO,arrSource,arrEnd
CopierFiles = faux
Définir CopyFSO = Server.CreateObject (Scripting.FileSystemObject)
Si TempSource = ou TempEnd = alors
ErrRaise Copier des fichiers ou des répertoires, la condition est vide
CopierFiles = faux
Fonction de sortie
Fin si
arrSource = Split(TempSource,|)
arrFin = Split(TempEnd,|)
Si UBound(arrSource) <> UBound(arrEnd) alors
CopierFiles= faux
Fonction de sortie
Fin si
pour i=0 à UBound(arrSource)
srcName = arrSource(i)
tarName = arrEnd(i)
SI CopyFSO.FileExists(srcName) et non CopyFSO.FileExists(tarName) alors
CopierFSO.CopyFile srcName,tarName
CopierFichiers = vrai
Fin si
SI CopyFSO.FolderExists(srcName) et non CopyFSO.FolderExists(tarName) alors
CopyFSO.CopyFolder srcName, tarName
CopierFichiers = vrai
Fin si
Suivant
Définir CopyFSO = Rien
Si Err alors
'Err.clear()
CopierFiles = faux
Fin si
Fonction de fin
%>