begin process at 2012 02 13 15:59:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Recherche d'un dossier, et création d'un dossier dans ce dosser...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche d'un dossier, et création d'un dossier dans ce dosser...

mercredi 21 novembre 2007 à 19:04:09 | Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska

Alors voila, je sais que beaucoup de sujets en parlent, de cette fameuse recherche de dossier..
Quand je recherche un dossier directement dans "C:\"
J'utilise :

dim fichier, FSO
Set FSO = CreateObject("Scripting.FileSystemObject" )
const forreading = 1, forwriting = 2, forappending = 8
recherche = "fichier à chercher"
ShowSubfolders FSO.GetFolder("C:\" ), recherche

Sub ShowSubFolders(Folder, recherche)
For Each Subfolder in Folder.SubFolders
If Subfolder.name = recherche Then
Wscript.Echo Subfolder.name
wscript.quit
Else
ShowSubFolders Subfolder, recherche
End If
Next
End Sub

Pourtant, j'ai beau faire, j'ai toujours une erreur de "permission" quand je cherche un dossier profondément comme dans :
"C:\Fichiers\..."
et que je met comme dossier source "C:\"

Quelqu'un pourrait m'aider svp??


mercredi 21 novembre 2007 à 20:06:42 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

JMO

Membre Club


 Bonsoir,


Le script proposé est du vbs.
Merci, la prochaine fois, de poster dans le bon thème !
Quant à la permission, il faut outrepasser avec On Error Resume Next .

Option Explicit
Dim objFso, objRootFolder
Dim strRootPath, strSubFolder, strResult
strRootPath = "D:\SCRIPTS\"

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objRootFolder = objFso.GetFolder(strRootPath)

Call SearchFolders(objRootFolder)
Msgbox strResult,,"Enumératon Sous-Répertoire(s) de " & strRootPath

Set objRootFolder = Nothing
Set objFso = Nothing

Sub SearchFolders(ArgFolder)
For Each strSubFolder In ArgFolder.SubFolders
On Error Resume Next  ' permission
Call SelectFolder(strSubfolder)
Call SearchFolders(strSubfolder)
Next
End Sub

Sub SelectFolder(ArgFolder)
strResult = strResult &vbCrLf& ArgFolder
End Sub


jean-marc
mercredi 21 novembre 2007 à 20:28:36 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska

Mince ! comme cet la premiere fois que je demande quelque chose, je savais pas
exactement comment faire... J'ai cherché mais j'ai pas trouvé le thème"vbs"
Bref, la commande on error resume next permet de continuer la recherche?

Parce que à chaque fois que je cherchais un dossier qui n'était pas directement dans "C:\" mais
dans un dossier de "C:\" j'avais une erreur...

Dans le code, ou est stipulé le nom du dossier a chercher?

mercredi 21 novembre 2007 à 20:36:46 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska

Ohhhh ! C'est bon j'ai compris !! Merci bcp Jean-Marc! Depuis le temps que je cherchais en vain sur les innombrables débats là dessus ! Merci encore

mercredi 21 novembre 2007 à 20:47:48 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

JMO

Membre Club


Re,

pour le vbs Thèmes / Visual Basic 6 / Langages dérivés / VBScript


Ci-dessous, 2 exemples.

1)Vérification de l'existence d'un répertoire:
MsgBox ShowFolderExists("D:\SCRIPTS\Fichiers\"),,"Contrôle existence Dossier"
MsgBox ShowFolderExists("D:\SCRIPTS\Fichiers"),,"Contrôle existence Dossier"
MsgBox ShowFolderExists("D:\SCRIPTS\Wichiers\"),,"Contrôle existence Dossier"
MsgBox ShowFolderExists("D:\SCRIPTS\Wichiers"),,"Contrôle existence Dossier"

Function ShowFolderExists(strFolder)
Set objFso   = WScript.CreateObject("Scripting.FileSystemObject")
If Right(strFolder,1)="\" Then strFolder = Left(strFolder,Len(strFolder)-1)
strFolder = strFolder & "\"
If objFso.FolderExists(strFolder) = True Then
    ShowFolderExists = strFolder &vblf& "Le dossier existe"
   Else
   ShowFolderExists = strFolder &vblf& "Le dossier n'existe pas"
end If
Set objFso = Nothing
End Function


2) Création arborescence d'un répertoire:
Const racine = "D:\SCRIPTS\Fichiers\"
MsgBox Verif_Folder(racine),,"Vérification du répertoire"

Function Verif_Folder(rac)
Dim
objFso
 Set
objFso = CreateObject("Scripting.FileSystemObject")
If Not
objFso.FolderExists(rac) Then
       'Msgbox "la racine n existe pas"
       Set
objFso = Nothing
       Exit Function
   Else
   'MsgBox "la racine existe"
   Dim ext(3), i, f, result
   ext(0) = "Pdr\"
   ext(1) = "DC\"
   ext(2) = "Qualif\"
  
   For i = 0  To UBound(ext)
       result = result & ext(i)
       If Not
objFso.FolderExists(rac & result) Then objFso.CreateFolder(rac & result)
   Next
   Verif_Folder = rac & result
End If
Set objFso = Nothing
End Function



jean-marc
mercredi 21 novembre 2007 à 22:29:19 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska

Merci beaucoup !!! Par contre j'ai encore un pti pb récursif...
J'obtiens une boucle sans fin alors que j'ai stipulé "wscript.exit" :

Sub ShowSubFolders(Folder, recherche)
For Each Subfolder in Folder.SubFolders
On Error Resume Next
If Subfolder.name = recherche Then
Wscript.Echo Subfolder.name
ObjShell.Exec CheminWinRar & " a -r " & chr(34) & Subfolder.path & "\" & nomduprojet & ".rar" & chr(34) & " " & chr(34) & RepSource & chr(34)
wscript.exit

Else
ShowSubFolders Subfolder, recherche
End If
Next
End Sub

Tu peux m'aider stp?

mercredi 21 novembre 2007 à 23:38:37 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

JMO

Membre Club


Re,

Pour quitter la boucle et, donc la Sub, il est plus élégant de mettre Exit For
à la place de WScript.Exit WScript.Quit(0)

jean-marc
mercredi 21 novembre 2007 à 23:46:07 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska

Oui ahah, jme suis rendu compte que j'avais été tro vite ...
En tout cas merci pour toutes ces réponses ! Je ne connaissais pas le "exit for"..
Si j'abusais je poserai une dernière question... Car là, je suis encore sur un
"paradoxe".
Je voudrais faire en sorte que quand le dossier recherché à été trouvé,
un dossier (différent) soit supprimé. J'utilise alors le "fso.deletefolder".
Pourtant, dans la procédure sub, ca ne marche pas :

Sub ShowSubFolders(Folder, recherche)

For Each Subfolder in Folder.SubFolders
On Error Resume Next
If Subfolder.name = recherche Then
ObjShell.Exec CheminWinRar & " a -r " & chr(34) & Subfolder.path & "\" & nomduprojet & ".rar" & chr(34) & " " & chr(34) & RepSource & chr(34)

suppression = enregistrement & "\" & nomduprojet
set fso=createobject("scripting.FileSystemObject")
fso.deletefolder suppression

exit for
Else
ShowSubFolders Subfolder, recherche
End If
Next
End Sub

Alors que dans un programme de suppression de dossier, ca fonctionne !!

dossier = inputbox ("Dossier à supprimer : ","Suppression d'un dossier","C:\")

set fso=createobject("scripting.FileSystemObject")
fso.deletefolder dossier

mercredi 21 novembre 2007 à 23:59:44 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

JMO

Membre Club


Re,

suppression = enregistrement & "\" & nomduprojet
msgbox suppression,,"suppression"
msgbox enregistrement,,"enregistrement"
msgbox nomduprojet,,"nomdu projet"



jean-marc
jeudi 22 novembre 2007 à 00:05:17 | Re : Recherche d'un dossier, et création d'un dossier dans ce dosser...

djedjeska



Quelques questions par ci par là...

1 2

Cette discussion est classée dans : dossier, recherche, création, subfolder, dosser


Répondre à ce message

Sujets en rapport avec ce message

Suppression d'un dossier dans une procédure de recherche [ par djedjeska ] J'aimerai poser une petite question... Car là, je suis encore sur un"paradoxe".Je voudrais faire en sorte que quand un dossier recherché à été trouvé, Recherche de dossier / création avec une boucle [ par Alb1dza ] Bonjour à tous, Je précise d'emblée que je débute tout juste en VB. Je cherche à créer un dossier nommé en fonction d'une entrée texte dans un userf Faire une recherche sur les destinataires dans un dossier remplit de fichier .msg Outlook [ par rudyrudyrudyrudy ] Bonjour à tous, J'aimerai faire une recherche une recherche sur les destinataires dans un dossier remplit de fichier .msg, comme l'indique le titre d Recherche d'un dossier [ par culie3 ] Bonjour, j'aurai voulu avoir un petit morceau de code qui me permettré de lancer une recherche sur l'ordinateur (juste en cliquant sur un boutton ou a Création d'une macro de recherche [ par Hamlet3 ] Bonjour, Je viens vous solliciter pour la création d'une macro sur un fichier excel. J'ai un planning dont les dates sont dans la première colonne. La PB VB6 et recherche de dossier [ par fredericbeduneau ] bonjours a tous je debute en VB et j'essaie de faire un petit prog qui se connecte a une base(mysql)je voudrais  que ma requette me renvoi un liste de Déplacer des fichier dans des sous dossier en fonction de leur date de création [ par benzure ] Bonjour J'ai de nombreux fichiers dans un repertoire créé chaque soir par un batch, je souhaiterai via une macro sous excel, trier ce répertoire en d Création d'une base de données [ par guilleto ] Bonjour à toutes et tous, J'ai cherché sur le site et je n'ai pas trouvé ce qui me pose problème. J'ai un certains nombre de BdD dans lesquelles je v création de sous dossier [ par jimmy28 ] SalutMalgres toutes mes recherches, je n'ai pas trouvé un exemple simple de vérification de l'existance ou non d'un repertoire ainsi que de sa créatio Renommer dossier apres recherche avec * [ par pykerdreux ] Bonjour, j'ai beau chercher, je ne trouve pas donc je crée une nouvelle question... Voila mon probleme : j'ai un répertoire qui contie


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales