recherche dans l'arboresence [résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 15-09-2005 à 17:19:41
tout ce dont tu as besoin est là :  
 
http://msdn.microsoft.com/library/ [...] Object.asp
Marsh Posté le 15-09-2005 à 18:41:36
ReplyMarsh Posté le 16-09-2005 à 09:50:05
Ah bah là je crois que j'ai tout donné : 
 
 
Set objFSO = CreateObject("Scripting.FileSystemObject" ) 
Set objFolder = objFSO.GetFolder("C:\Documents and Settings \ moi \ bureau \ folder\" ) 
Set dossiers = objFolder.Subfolders 
For Each objSubfolder in dossiers 
 if (objSubfolder.Name="truc" ) then 
 msgbox(objsubfolder) 
 Set chemin = objFSO.GetFolder("C:\Documents and Settings \ moi \ bureau \ test\" & objSubfolder & " ) 
 kill chemin & "/*.*" 
End if 
Next 
 
Mais j'obtiens un message d'erreur "chemin d'accès introuvable" ligne 7 alors que objsubfolder est bien égal à "truc". 
En plus, dans le cas où ça marcherait, ça ne ferait toujours pas ce que je veux, puisque on est ici à un sous-niveau de répertoire, alors que je voudrais que le script scrute à deux sous-niveaux... 
 
 
Marsh Posté le 16-09-2005 à 10:37:11
Bon ça avance : 
 
Set objFSO = CreateObject("Scripting.FileSystemObject" ) 
Set objFolder = objFSO.GetFolder("C:\Documents and Settings\moi\bureau\folder\" ) 
Set dossiers = objFolder.Subfolders 
For Each objSubfolder in dossiers 
 if (objSubfolder.Name="truc" ) then 
 msgbox(objsubfolder) 
 objFSO.DeleteFile(objsubfolder & "\*.*" ) 
End if 
Next 
 
Ca marche pour les dossiers de premier niveau, reste à voir pour les dossiers de second niveau...
Marsh Posté le 16-09-2005 à 10:53:27
Ca marche !! 
 
Set objFSO = CreateObject("Scripting.FileSystemObject" ) 
Set objFolder = objFSO.GetFolder("C:\Documents and Settings\moi\bureau\folder\" ) 
Set dossiers = objFolder.Subfolders 
For Each objSubfolder in dossiers 
 set sousdoss=objsubfolder.Subfolders 
 	For Each objSubfolder2 in sousdoss 
 	if (objSubfolder2.Name="truc" ) then 
   msgbox(objsubfolder2) 
 	objFSO.DeleteFile(objsubfolder2 & "\*.*" ) 
 End if 
 Next 
Next 
 
Merci de ne pas m'avoir donner la soluce, au moins j'aurai appris quelque chose   
 
Marsh Posté le 16-09-2005 à 10:56:56
rm -r folder/folder*/truc/* ![[:spamafote] [:spamafote]](https://forum-images.hardware.fr/images/perso/spamafote.gif)
Marsh Posté le 16-09-2005 à 11:06:00
ReplyMarsh Posté le 16-09-2005 à 11:14:33
| moldar a écrit : Comment tu ferais ça récursivement ? | 
 
vu que tu connais l'mplacement où se trouvent les fichiers que tu veux effacer, la récursivité n'est pas vraiment indiquée dans ton cas.
Marsh Posté le 16-09-2005 à 11:16:42
| moldar a écrit : Ca marche !!  | 
 
C'est le but du forum 
Marsh Posté le 16-09-2005 à 11:17:58
Reply
Marsh Posté le 15-09-2005 à 17:15:55
Bonjour !!
 ) :
) : 
J'aurais besoin d'un script tout simple (enfin tout simple pour qqn qui connait vbs
j'ai un dossier "folder" contenant plusieurs sous dossiers folder1, folder2... eux mêmes contenant, entre autres, un dossier "truc" (même nom pour folder1, folder2...).
Je souhaiterais supprimer le contenu de ces dossiers "truc".
Merci beaucoup !!
Message édité par moldar le 16-09-2005 à 10:53:41