IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows XP Discussion :

Créer un sous-répertoire dans plusieurs répertoires


Sujet :

Windows XP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Créer un sous-répertoire dans plusieurs répertoires
    Bonjour à tous,

    En espérant écrire au bon endroit,
    je vais essayer de détailler mieux que l'intitulé ce que je voudrais faire.

    J'ai sur mon disque k: plusieurs répertoires (1300 environs) dans lesquels je veux créer un sous-répertoire qui porterait le même nom.

    En Windows, je sais bien créer un sous-répertoire dans un répertoire. Mais vous comprendrez que de le faire 1300 fois, c'est long et risque possible dans oublier.

    En DOS également, je sais le faire mais que pour un seul répertoire à la fois.

    Est-il possible, existe-t-il un commande que je pourrais faire pour créer le sous-répertoire (ex sous-rep) dans tous les répertoires de mon disque k: ??

    Merci de votre aide.
    Pak

  2. #2
    Membre chevronné Avatar de Guardian
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    820
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 820
    Points : 1 808
    Points
    1 808
    Par défaut
    Sous DOS (façon de parler, disons en ligne de commande avec un batch) tu peux lister tes répertoire et parcourir la liste pour créer dans chaque répertoire un sous répertoire.
    Tu trouveras les informations utiles dans la FAQ Batch http://windows.developpez.com/faq/batch/

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Voilà !

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strMonSousDossier = "\NomDuDossier"
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "C:\dev"
    If oFSO.FolderExists(stRep) Then
     For each oFld in  oFSO.GetFolder(stRep).SubFolders
       Wscript.Echo "Création du dossier : " & oFld.Path	& strMonSousDossier
    			oFSO.CreateFolder(oFld.Path	& strMonSousDossier)
     Next
    End If

    La première variable (strMonSousDossier), tu renseignes le nom du sous dossier à créer en laissant bien le "\"
    La seconde utile (stRep), tu renseignes le répertoire de base, donc ici : la lettre de ton dossier !
    Tu copies/colles le code dans un fichier texte, avec une extension en ".vbs", tu doubles clic, et c'est bon !

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    re Bonjour,

    Merci beaucoup Luc1an0, je ne connais pas assez le vbs pour avoir pensé à l'utiliser pour ça, mais seulement avec les macros.

    Me reste plus qu'à cliquer sur ok 1300 fois

    Merci aussi à ArielD j'avais testé bcp de formules mais rien fonctionnait.

    Pak

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Salut,

    Désolé, mais tu peux enlever le "Wscript.Echo" !

    Cela vient du fait que mon interpréteur par défaut est "cscript.exe" et non "vbscript.exe" ... Pour l'un, le StdOut est la console (Cscript pour la console) et pour l'autre c'est le StdOut sont des MsgBox ...

    Soit tu enlèves le WScript.Echo ou depuis une console "cscript.exe le_nom_du_script.vbs"

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour à tous,

    Le code vb de Luc1an0 m'a été très utile. Les 1300 répertoires ont désormais le sous-répertoire voulu.

    Maintenant j'essaie de modifier ce code afin d'ajouter un sous-répertoire dans le premier sous-répertoire créer. Chose qui me semblait assez facile avec le code que j'avais mais certains répertoires ont été créés après que j'aie exécuté ce code vb donc ils ne contiennent pas le premier sous-répertoire.

    ex:
    K:\rep1\sousRep
    K:\rep2\sousRep
    K:\rep3\
    K:\rep4\sousRep
    K:\rep5\
    K:\rep6\sousRep

    Avec le code vb ci-dessus, lorsqu'il rencontre le répertoire qui ne contient pas le sous répertoire, il plante et affiche un message d'erreur puisqu'il ne trouve pas le sous-rep dans ce répertoire. Logique

    J'ai testé plusieurs modifications mais sans succès.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    strMonSousDossier = "\sousRep\sousRep2"
    strMonSousDossier2 = "\sousRep"
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "K:\"
    If oFSO.FolderExists(stRep) Then
     For each oFld in  oFSO.GetFolder(stRep).SubFolders
    	If Not oFSO.FolderExists(strMonSousDossier2) Then
    		Wscript.Echo "Création du dossier : " & oFld.Path	& strMonSousDossier2 
    			oFSO.CreateFolder(oFld.Path	& strMonSousDossier2)
    	End If
    		Wscript.Echo "Création du dossier : " & oFld.Path	& strMonSousDossier 
    			oFSO.CreateFolder(oFld.Path	& strMonSousDossier)
     Next
    End If
    Mais il s'arrête directement au premier répertoire en affichant un problème à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Wscript.Echo "Création du dossier : " & oFld.Path	& strMonSousDossier2 
    			oFSO.CreateFolder(oFld.Path	& strMonSousDossier2)
    alors qu'il ne devrait pas entrer dans ce IF puisque strMonSousDossier2 existe.

    L'idée est que si le strMonSousDossier2 existe de créer que strMonSousDossier et s'il n'existe pas de créer les deux. J'emploi sûrement mal le If Not.

    Merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2011, 17h33
  2. Réponses: 3
    Dernier message: 30/05/2008, 10h39
  3. Gestion des droits dans plusieurs répertoires
    Par Hobbi1 dans le forum Ubuntu
    Réponses: 8
    Dernier message: 14/04/2008, 23h14
  4. créer un fichier csv dans un répertoire
    Par vodasan dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 10/03/2008, 08h58
  5. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo