Rechercher : dans
Par :

[VBS] Suppression de fichiers dans dossiers

Dernière réponse le 8 oct 2009 à 08:59:22 JFO, le 29 jui 2005 à 03:47:16 
 Signaler ce message aux modérateurs

Voila je débute en VBS et j'ai un petit problème à résoudre.
Imaginons une arborenscence telle que :
[b]RACINE[/b]
|
|__[b]Dossier 1[/b]__[b]Dossier 1.1[/b]__[i]Fichier.exe[/i]
| |
| |__[b]Dossier 1.2[/b]__[i]Fichier.bat[/i]
| | |
| | |__[i]Fichier.msi[/i]
| |
| |__[i]Fichier.exe [/i]
|
|__[b]Dossier 2[/b]__[b]Dossier 2.1[/b]__[i]Fichier.exe[/i]
| |
| |__[i]Fichier.bat[/i]
| |
| |__[i]Fichier.exe [/i]
|
|__[b]Dossier 3[/b]__[b]Dossier 3.1[/b]__[i]Fichier.bat[/i]
| |
| |__[b]Dossier 3.2[/b]__[i]Fichier.exe[/i]
| |
| |__[i]Fichier.msi[/i]
|___________________________________________________
Ce que je dois faire c'est, avec l'aide d'un script, supprimer tous les "Fichier.exe". Mais pour cela je dois parcourir les dossiers, ainsi que leur sous dossiers, puis les sous dossiers des sous dossiers et ainsi de suite.

J'ai trouvé quelques lignes de codes :

[color=green]Dim ObjShell, Afile, Thefiles
The = "C:\Temp\racine"
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set Afolder=FSO.GetFolder(The)
Set TheFiles = Afolder.Files
On Error Resume Next
For Each AFile In TheFiles
Wscript.Echo FSO.GetExtensionName(AFile.Path)
If UCase(FSO.GetExtensionName(AFile.Path)) = "EXE" then
AFile.Delete
End if[/color]

Et des informations : [url]http://www.bellamyjc.net/fr/vbsobjets.html[/url]

Mais je n'ai pas trop d'idée pour réaliser ce script, je pense qu'il faut utiliser des boucles. Je ne sais pas non plus comment il gère la vérification de l'existence d'un dossier afin de reprende sa recherche dans le dossier parent.

Voila j'ai un peu de mal et si quelqu'un peut m'aider je le remercis de tout coeur.
A bientôt

Meilleures réponses pour « [VBS] Suppression de fichiers dans dossiers » dans :
[Windows] Obtenir la liste des fichiers d'un dossier VoirLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...
WLM 8 - Supprimer le dossier de partage du poste de travail VoirÀ l'installation de Windows Live Messenger 8, un "dossier de partage" est créé dans le poste de travail, ce qui permet de partager plusieurs documents avec certains contacts. Pour ceux qui n'utilisent pas cette fonction et qui veulent supprimer...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...

1

david81, le 18 jui 2006 à 18:10:59

Bonjour,etant debutant,j'aimerais savoir ce qu'est un fichier temporaire merci

Répondre à david81

2

arnauldl, le 16 jan 2008 à 11:26:46
  • +1

La solution à ton problème consiste en un parcours récursif (fonction qui s'appele elle même) des dossiers et sous dossiers :

'-----------------------------------------------------------­------------------------------------------------------------­-
racine= "C:\Temp\racine"
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set Afolder=FSO.GetFolder(racine)
effaceExe(Afolder)

function effaceExe(rep)
Set TheFiles = rep.Files
For Each AFile In TheFiles
If UCase(FSO.GetExtensionName(AFile.Path)) = "EXE" then AFile.Delete
next
for each subFolder in rep.SubFolders
effaceExe (subFolder)
next
end function
'------------------------------------------------------------------------------------------------------------------------

Cordialement.

Répondre à arnauldl

3

 Jaggana, le 8 oct 2009 à 08:59:22

Super merci :)

Répondre à Jaggana