Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [résolu] recherche dans l'arboresence

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] recherche dans l'arboresence

n°1200604
moldar
Eleveur de saltices
Posté le 15-09-2005 à 17:15:55  profilanswer
 

Bonjour !!
 
J'aurais besoin d'un script tout simple (enfin tout simple pour qqn qui connait vbs :D) :
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
mood
Publicité
Posté le 15-09-2005 à 17:15:55  profilanswer
 

n°1200606
mareek
Et de 3 \o/
Posté le 15-09-2005 à 17:19:41  profilanswer
 

tout ce dont tu as besoin est là : ;)
http://msdn.microsoft.com/library/ [...] Object.asp


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°1200614
moldar
Eleveur de saltices
Posté le 15-09-2005 à 17:31:19  profilanswer
 

Hum...spa sur... :whistle:

n°1200650
luminilux
Posté le 15-09-2005 à 18:41:36  profilanswer
 

moldar a écrit :

Hum...spa sur... :whistle:


T'es sur d'avoir essayé ?  :)

n°1200843
moldar
Eleveur de saltices
Posté le 16-09-2005 à 09:50:05  profilanswer
 

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...
 
 :cry:


Message édité par moldar le 16-09-2005 à 09:51:43
n°1200899
moldar
Eleveur de saltices
Posté le 16-09-2005 à 10:37:11  profilanswer
 

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...

n°1200909
moldar
Eleveur de saltices
Posté le 16-09-2005 à 10:53:27  profilanswer
 

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  ;)

n°1200910
dahlo
Posté le 16-09-2005 à 10:55:02  profilanswer
 

La récursivité est ton amie ;)

n°1200913
0x90
Posté le 16-09-2005 à 10:56:56  profilanswer
 
n°1200923
moldar
Eleveur de saltices
Posté le 16-09-2005 à 11:06:00  profilanswer
 

dahlo a écrit :

La récursivité est ton amie ;)


 
Comment tu ferais ça récursivement ?

mood
Publicité
Posté le 16-09-2005 à 11:06:00  profilanswer
 

n°1200931
mareek
Et de 3 \o/
Posté le 16-09-2005 à 11:14:33  profilanswer
 

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.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°1200932
mareek
Et de 3 \o/
Posté le 16-09-2005 à 11:16:42  profilanswer
 

moldar a écrit :

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  ;)


C'est le but du forum ;)


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°1200933
moldar
Eleveur de saltices
Posté le 16-09-2005 à 11:17:15  profilanswer
 

;)

n°1200934
moldar
Eleveur de saltices
Posté le 16-09-2005 à 11:17:58  profilanswer
 

0x90 a écrit :

rm -r folder/folder*/truc/* [:spamafote]


 
"rm -r" sous Windaub c'est pas gagné...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [résolu] recherche dans l'arboresence

 

Sujets relatifs
[RESOLU] Problème avec XmlHttpRequest : marche pas sous IE[RESOLU] [eclipse 3.1] export/import préférences
a:hover pas appliqué sur l'ensemble de la page[RESOLU]affichage d'une applet [resolu]
recherche ds un tableauxrecherche tableau
[résolu!]Tester des valeurs retournées par une requête[Résolu] J'ai besoin d'aide pour quelques base.
[A moitié résolu] Lire l'adresse de l'expéditeur d'un message[résolu]Champ de type Oui/Non
Plus de sujets relatifs à : [résolu] recherche dans l'arboresence


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR