Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment tester l'existence d'un fichier ?
auteur : bbil
La méthode FileExists exposée par la classe FileSystemObject teste l'existence d'un fichier en fonction de son nom.
VBS

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
MsgBox oFSO.FileExists("c:\tmp\Fichier1.txt")

Comment lister les fichiers d'un dossier ?
auteur : bbil
Une boucle For Each permet d'énumérer l'ensemble des fichiers :
VBS

Dim stRep 'Nom du répertoire à parcourir
Dim oFSO,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Tmp"
If oFSO.FolderExists(stRep) Then
 For each oFl in  oFSO.GetFolder(stRep).Files
   Wscript.Echo oFl.Name	
 Next
End If

Comment obtenir des informations sur fichier ?
auteurs : Tofalu, bbil
Les propriétés de l'objet File
  • Attributes : attributs du dossier.
    • 0 : Normal. Aucun attribut n'est défini.
    • 1 : ReadOnly : fichier en lecture seule (attribut en lecture/ecriture)
    • 2 : Hidden : fichier caché (attribut en lecture/ecriture)
    • 4 : System : fichier système (attribut en lecture/ecriture)
    • 32 : Archive : fichier archivé (attribut en lecture/ecriture)
    • 1024 : Lien ou raccourci. L'attribut est lecture seule. (attribut en lecture seule)
    • 2048 : Compressed : fichier compressé (attribut en lecture seule)
  • DateCreated : Date de création du fichier
  • DateLastAccessed : Date du dernier accès au fichier
  • DateLastModified : Date de dernière modification
  • Drive : Lettre désignant l'unité de disque d'où est issu le dossier.
  • Name : Nom du fichier. Exemple : Fichier1.txt (propriété en lecture/ecriture)
  • ParentFolder : Objet Folder correspondant au dossier parent. Si le dossier est un dossier RootFolder cette propriété retourne Nothing.
  • Path : Chemin complet d'accès au fichier. Exemple : c:\tmp\fichier1.txt
  • ShortName : Nom court sur 8 caractères maximum. Exemple : MONFIC~1.TXT
  • ShortPath : Chemin complet d'accès au fichier où chaque composant respecte la norme évoquée pour ShortName. Exemple D:\ABCDEF1~1\MONFIC~1.TXT
  • Size : Taille du fichier en octets.
  • Type : Type du fichier. Exemple : Document Texte. C'est ce type qui est affiché dans l'explorateur Windows.
VBS

Dim stFichier 'Nom du Fichier a tester 
Dim oFSO,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
stFichier = "c:\tmp\Nouveau Document texte.txt"
If oFSO.FileExists(stFichier) Then
Set oFl = oFSO.GetFile(stFichier)
  MsgBox "Attributes  :" & oFl.Attributes  & vbCrlf & _ 
         "DateCreated :" & oFl.DateCreated  & vbCrlf & _ 
         "DateLastAccessed :" & oFl.DateLastAccessed  & vbCrlf & _ 
         "DateLastModified :" & oFl.DateLastModified  & vbCrlf & _ 
         "Drive :" & oFl.Drive  & vbCrlf & _ 
         "Name :" & oFl.Name  & vbCrlf & _ 
         "ParentFolder :" & oFl.ParentFolder  & vbCrlf & _ 
         "Path :" & oFl.Path  & vbCrlf & _ 
         "ShortName :" & oFl.ShortName  & vbCrlf & _ 
         "ShortPath :" & oFl.ShortPath  & vbCrlf & _ 
         "Size :" & oFl.Size  & vbCrlf & _ 
         "Type :" & oFl.Type  

End If

Comment copier un fichier ?
auteurs : Tofalu, bbil
Il est possible d'utiliser deux techniques différentes pour copier un fichier :
Depuis le FSO directement grâce à la méthode CopyFile
VBS

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.CopyFile "c:\tmp\Fichier1.txt","c:\tmp\Fichier2.txt",True ' True : pour copier en "écrasant" destination si existe..
où en utilisant la méthode copy de l'objet file

Dim oFS,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFl = oFSO.GetFile("c:\tmp\Fichier1.txt")
oFl.Copy "c:\tmp\fichier3.txt",False ' Le paramétre "Force" à False n'autorise pas d'effacer les fichiers  en lectures seules.

Comment effacer un fichier ?
auteurs : Tofalu, bbil
Il est possible d'utiliser deux techniques différentes pour effacer un fichier :
Depuis le FSO directement grâce à la méthode DeleteFile
VBS

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFile "c:\tmp\fichier1.txt",True  ' Le paramétre "Force" à true permet d'effacer les fichiers en lectures seules.
où en utilisant la méthode delete de l'objet File

Dim oFS,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFl = oFSO.GetFile("c:\tmp\Fichier1.txt")
oFl.Delete False ' Le paramétre "Force" à False n'autorise pas d'effacer les fichiers et répertoires  en lectures seules.
les deux méthodes prennent en dernier paramètre le paramètre "Force" qui à "True" permet d'effacer les fichiers en lecture seule.


Comment déplacer un fichier ?
auteurs : Tofalu, bbil
Il est possible d'utiliser deux techniques différentes pour déplacer un fichier :
Depuis le FSO directement grâce à la méthode MoveFile

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.MoveFile "c:\tmp\Fichier1.txt","c:\tmp\fichier2.txt"
où en utilisant la méthode move de l'objet file
VBS

Dim oFS,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFl = oFSO.GetFile("c:\tmp\Fichier1.txt")
oFl.Move "D:\tmp\fichier2.txt" ' Déplacement vers autre unité de disque tout en renommant le fichier...

Comment lire le contenu d'un fichier texte ?
auteur : bbil
Lecture ligne à ligne d'un fichier texte :

VBS

Const ForReading = 1, ForWriting = 2 
Dim oFso, f
  
  Set oFso = CreateObject("Scripting.FileSystemObject")
  Set f = oFso.OpenTextFile("c:\tmp\fichier1.txt", ForReading)
  while Not f.AtEndOfStream 
     wscript.echo f.ReadLine
  Wend
  f.Close
Lecture de la totalité d'un fichier texte :

VBS

Const ForReading = 1, ForWriting = 2 
  Dim oFso, f
  
  Set oFso = CreateObject("Scripting.FileSystemObject")
  Set f = oFso.OpenTextFile("c:\tmp\fichier1.txt", ForReading)
  Wscript.echo f.ReadAll
  f.Close

Comment écrire dans un fichier texte ?
auteur : bbil
VBS

   Const ForWriting = 2
   Dim fso, f   
   
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\temp\ecr.txt", ForWriting,true)
   f.write("Salut")

Comment obtenir le nombre de lignes d'un fichier texte ?
auteur : ThierryAIM
A l'ai de la propriété Line de l'objet fichier :
VBS

Const ForReading = 1, ForWriting = 2 
Dim oFso, f
Dim ts, nl
  Set oFso = CreateObject("Scripting.FileSystemObject")
  Set f = oFso.OpenTextFile("c:\test1.txt", ForReading)
  ts = f.ReadAll '-- Lit la totalité du fichier
  Wscript.echo f.Line    '-- Récupère le nombre de lignes

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com