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/*
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