| | auteur : bbil |
Avec la méthode FolderExists
| Dossier Existe |
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
MsgBox "C:\Program Files\Fichiers communs >> " & oFSO.FolderExists("C:\Program Files\Fichiers communs")
MsgBox "C:\Program Files\Fichiers communs\RepBidon >> " & oFSO.FolderExists("C:\Program Files\Fichiers communs\RepBidon")
|
|
| | auteur : bbil | Une boucle For Each permet d'énumérer l'ensemble des sous-dossiers :
| listes des sous-dossiers |
Dim stRep
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Program Files\Fichiers communs"
If oFSO.FolderExists(stRep) Then
For each oFld in oFSO.GetFolder(stRep).SubFolders
Wscript.Echo oFld.Name
Next
End If
|
|
| | auteurs : Tofalu, bbil | Les propriétés de l'objet Folder
- Attributes : attributs du dossier.
- 0 : Normal. Aucun attribut n'est défini.
- 1 : ReadOnly : Dossier en lecture seule (attribut en lecture/ecriture)
- 2 : Hidden : Dossier caché (attribut en lecture/ecriture)
- 4 : System : Dossier système (attribut en lecture/ecriture)
- 32 : Archive : Dossier archivé (attribut en lecture/ecriture)
- 2048 : Compressed : Dossier compress (attribut en lecture seule)
- DateCreated : Date de création du dossier
- DateLastAccessed : Date du dernier accès au dossier
- DateLastModified : Date de dernière modification
- Drive : Lettre désignant l'unité de disque d'où est issu le dossier.
- Files : Collection regroupant les fichiers du dossier
- IsRootFolder : Booléen qui définit si le dossier est le dossier racine de son unité de disque.
- Name : Nom du dossier. Exemple : Windows (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 dossier. Exemple : D:\Windows
- ShortName : Nom court sur 8 caractères maximum. Exemple ESSAI1~1
- ShortPath : Chemin complet d'accès au dossier où chaque composant respecte la norme évoquée pour ShortName. Exemple D:\ABCDEF1~1\ ESSAI1~1
- Size : Taille totale du dossier en octets. Il s'agit de la somme de la taille de tous les fichiers présents dans le dossier et ses sous-dossiers.
- SubFolders : Collection d'objet Folder regroupant les sous-dossiers.
- Type : Type du dossier. Dans tous les cas testés, il s'agit de FileFolder.
Dim stRep
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Program Files\Fichiers communs"
If oFSO.FolderExists(stRep) Then
Set oFld = oFSO.GetFolder(stRep)
MsgBox "Attributes :" & oFld.Attributes & vbCrlf & _
"DateCreated :" & oFld.DateCreated & vbCrlf & _
"DateLastAccessed :" & oFld.DateLastAccessed & vbCrlf & _
"DateLastModified :" & oFld.DateLastModified & vbCrlf & _
"Drive :" & oFld.Drive & vbCrlf & _
"IsRootFolder :" & oFld.IsRootFolder & vbCrlf & _
"Name :" & oFld.Name & vbCrlf & _
"ParentFolder :" & oFld.ParentFolder & vbCrlf & _
"Path :" & oFld.Path & vbCrlf & _
"ShortName :" & oFld.ShortName & vbCrlf & _
"ShortPath :" & oFld.ShortPath & vbCrlf & _
"Size :" & oFld.Size & vbCrlf & _
"SubFolders.Count :" & oFld.SubFolders.count & vbCrlf & _
"Type :" & oFld.Type
End If
|
|
| | auteurs : Tofalu, bbil | Il est possible d'utiliser deux techniques différentes pour créer un dossier :
Depuis le FSO directement
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFld=oFSO.CreateFolder ("D:\Essai")
|
où en rajoutant un élément à la collection SubFolders
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFld=oFSO.GetFolder ("D:\")
oFld.subFolders.Add("Essai")
|
|
| | auteur : Forum | Il est possible d'utiliser une fonction récursive pour créer une arborescence.
Option Explicit
Dim ofso
Set ofso = CreateObject("Scripting.FileSystemObject")
CreerRep("c:\data\toto\titi\")
Sub CreerRep(Chemin)
If Not ofso.FolderExists(chemin) Then
CreerRep(ofso.GetParentFolderName(chemin))
ofso.CreateFolder(chemin)
End If
End Sub
|
|
| | auteurs : Tofalu, bbil | Il est possible d'utiliser deux techniques différentes pour copier un dossier :
Depuis le FSO directement grâce à la méthode CopyFolder
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.CopyFolder "c:\tmp","c:\tmp2",True
|
où en utilisant la méthode copy de l'objet Folder
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
set oFld = oFSO.GetFolder("c:\tmp")
oFld.Copy "c:\tmp2",True
|
|
| | auteurs : Tofalu, bbil | Il est possible d'utiliser deux techniques différentes pour effacer un dossier :
Depuis le FSO directement grâce à la méthode DeleteFolder
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFolder "c:\tmp2",True
|
où en utilisant la méthode delete de l'objet Folder
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
set oFld = oFSO.GetFolder("c:\tmp2")
oFld.Delete False
|
les deux méthodes prennent en dernier paramètre le paramètre "Force" qui à "True" permet d'effacer les fichiers en lecture seule.
|
| | auteurs : Tofalu, bbil | Il est possible d'utiliser deux techniques différentes pour déplacer un dossier :
Depuis le FSO directement grâce à la méthode MoveFolder
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.MoveFolder "c:\tmp2","c:\tmp3"
|
où en utilisant la méthode move de l'objet Folder
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
set oFld = oFSO.GetFolder("c:\tmp2")
oFld.Move "C:\tmp3"
|
|
| | auteur : SilkyRoad | | VBS |
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim Source, Destination, MyHex, MyBinary, i
Dim oShell, oApp, oFolder, oCTF, oFile
Dim oFileSys
Source = "C:\Temp"
Destination = "C:\maSauvegarde.zip"
MyHex = _
Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(Destination, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
Set oApp = CreateObject("Shell.Application")
Set oFolder = oApp.NameSpace(Source)
If Not oFolder Is Nothing Then _
oApp.NameSpace(Destination).CopyHere oFolder.Items
wScript.Sleep 5000
Set oFile = Nothing
On Error Resume Next
|
|
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.
|