Mike Gagnon Canada Membre Simple # 0000000025 enregistré le 14/10/2004
Gagnon Mike Pointe Cla H9R 3K8 de la société Carver Technologies Inc. Fiche personnelle
Note des membres 19,7/20 3 votes
Contributions > 09 - Automation > Windows Scripting
Série de fonctions à effectuer sur des fichiers et dossiers
# 0000000061
ajouté le 17/11/2004 17:09:49 et modifié le 02/05/2005
consulté 16938 fois
Niveau
expert
Version(s) Foxpro : VFP 7.0
Description
Voici une série de fonctions à effectuer sur des fichiers et dossiers. Exemples copier, supprimer, renommer etc.
Ces fonctions requièrent que Windows Scripting soit installé.
Code source :
&& Script de démonstration qui emploie le FileSystemObject pour copier un dossier. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui supprime tout les fichiers '.txt' dans un dossier qui sont en lecture-seule. Le script doit être couru sur l'ordinateur local.
&&Renvoie une liste de tous les dossiers dans le dossier 'Scripts'. Si l'ordinateur a plus d'un dossier de 'Scripts' (par exemple, C:\Scripts et D:\Scripts), des dossiers seront retournés de chacune de ces dossiers
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFiles = loWMIService. ;
ExecQuery("Select * from CIM_DataFile where Path = '\\Scripts\\'") ForEach loFile in colFiles
?loFile.Name Next
&&Énumère tous les fichiers sur un ordinateur. C'est principalement un script de démonstration; si réellement couru, il pourrait prendre une heure ou plus pour accomplir, selon le nombre de fichiers sur l'ordinateur. Selon le nombre de fichiers et sur la mémoire disponible, ce script peut échouer avant de finir.
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFiles = loWMIService.ExecQuery ;
("Select * from CIM_Datafile") ForEach loFile in colFiles
?loFile.Name Next
&& Renvoie une liste de tous les dossiers plus gros que 1.000.000 kb.
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFiles = loWMIService. ;
ExecQuery("Select * from CIM_DataFile where FileSize > 1000000") ForEach loFile in colFiles
?loFile.Name + " -- " + loFile.FileSize Next
&& Script de démonstration qui emploie le FileSystemObject pour énumérer les attributs d'un fichier. Le manuscrit doit être couru sur l'ordinateur local.
loFSO = CreateObject("Scripting.FileSystemObject")
loFile = loFSO.GetFile("C:\FSO\ScriptLog.txt") If loFile.Attributes= 0
?"No attributes set." ENDIF If loFile.Attributes = 1
?"Read-only." ENDIF If loFile.Attributes = 2
?"Hidden file." ENDIF If loFile.Attributes = 4
?"System file." ENDIF If loFile.Attributes = 32
?"Archive bit set." ENDIF If loFile.Attributes = 64
?"Link or shortcut." ENDIF If loFile.Attributes = 2048
?"Compressed file." ENDIF
&& Script de démonstration qui emploie le FileSystemObject pour énumérer les propriétés d'un fichier. Le manuscrit doit être couru sur l'ordinateur local.
&& Script de démonstration qui vérifie pour voir si un fichier est inaltérable (read-only) et, s'il n'est pas, le marque comme inaltérable. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystermObject pour déplacer un fichier d'un endroit à l'autre. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystemObject pour déplacer tous les fichiers '.txt' d'un endroit à un autre. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystemObject pour renvoyer l'information d'un fichier, y compris le nom de fichier, l'extension, le chemin complet de fichier, etc... Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystemObject pour rechercher la version de fichier pour un fichier de dll. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystemObject pour vérifier qu'un fichier existe. Le script doit être couru sur l'ordinateur local.
OnErrorDo nofile
loFSO = Createobject("Scripting.FileSystemObject") If loFSO.FileExists("C:\FSO\ScriptLog.txt")
loFolder = loFSO.Getfile("C:\FSO\ScriptLog1.txt") Else
?"File does not exist." Endif Procedure nofile
?"File does not exist." Endproc
&& Le script de démonstration qui emploie le FileSystemObject pour vérifier si un dossier est cachée et, si elle n'est pas, le cacher. Le script doit être couru sur l'ordinateur local.
&& Script de démonstration qui emploie le FileSystemObject pour copier une dossier à un nouvel endroit. Le script doit être couru sur l'ordinateur local.
&& Emploie 'Shell Object' pour copier le dossier C:\Scripts à D:\Archives. Montre le dialogue copiant de progrès de fichiers pendant que le dossier est copié.
&& Script de démonstration qui emploie le FileSystemObject pour supprimer plusieurs dossiers. Le script doit être couru sur l'ordinateur local.
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFolders = loWMIService.ExecQuery ;
("Select * from Win32_Directory where Name = 'c:\\Scripts'") ForEach loFolder in colFolders
= loFolder.Delete Next
&& Renvoie une liste de toutes les dossiers sur un ordinateur. Ceci peut prendre 15 minutes ou plus pour accomplir, selon le nombre de dossiers sur l'ordinateur.
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFolders = loWMIService.ExecQuery("Select * from Win32_Directory") ForEach loFolder in colFolders
?loFolder.Name Next
&& Renvoie une liste de toutes les dossiers cachés sur un ordinateur.
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colFiles = loWMIService.ExecQuery ;
("Select * from Win32_Directory Where Hidden = .t.") ForEach loFile in colFiles
?loFile.Name Next
&& Script de démonstration qui emploie le FileSystemObject pour énumérer les attributs d'un dossier. Le script doit être couru sur l'ordinateur local.
loFSO = CreateObject("Scripting.FileSystemObject")
loFolder = loFSO.GetFolder("C:\FSO") If loFolder.AttributesAND 2
?"Hidden folder." ENDIF If loFolder.AttributesAND 4
?"System folder." ENDIF If loFolder.AttributesAND 16
?"Folder." ENDIF If loFolder.AttributesAND 32
?"Archive bit set." ENDIF If loFolder.AttributesAND 2048
?"Compressed folder." ENDIF
&& Script de démonstration qui emploie le FileSystemObject pour énumérer les propriétés d'un dossier. Le script doit être couru sur l'ordinateur local.