Aide batch parametré

Résolu
bonjour tout le monde
je veux creer un batch qui peut creer des dossiers ainsi que sous-dossier
le probleme c est il doit parametré

1 - apres execution de ce batch
il doit donner de choisir quelle c: ou d:
apres choix il doit afficher un msg de confirmation
si oui : il doit continuer
si non : il doit afficher le msg de choix du partiotion
apres confirmation "oui" il cree les dossiers ainsi les sous-dossiers deja configurés

par ex si on choisi c:
md 1
md 2
cd1
md 11
md12
cd..
cd 2
md21
md22
cd 22
md221

merci d avance les amis

9 réponses

  1. Contributeur
    'Lister les lecteurs:
    ListeDrv = ""
    Set Obj_FSO = CreateObject("Scripting.FileSystemObject")

    'Parcourir tous les objets lecteurs du PC.
    For Each drvValue In Obj_FSO.Drives
    'Ne pas tenir compte du lecteur A sinon il cherche quelques secondes pour trouver
    'une disquette (Ca ralentie et c'est bruyant).
    If drvValue.DriveLetter <> "A" Then
    'Regarder si le lecteur est disponible
    If drvValue.Isready Then

    ListeDrv = ListeDrv & drvValue.DriveLetter & ";"

    End If
    End If
    Next

    ' Libérer les objets
    Set Obj_FSO = Nothing

    ------------------------------------------------------------

    Tu peux mettre aussi ListeDrv en tableau et tester apres l inputbox si la lettre rentrée est dans ce tableau ;)
    1. bonjour
      il m affiche seulement un code d erreur que le chemin d acces est introuvable sans donner les lettres des partition ,
      mais j ai essayé de coller ce dernier code au debut du l aute code

      ou on peut mettre ces lignes pour obtenir des meilleurs resultats

      merci
  2. bonjour
    comment afficher un message d erreur apres que l utilisateur entre une lettre d une partition qui n existe pas
    ainsi de donner les listes des lettres des partition qui existent au niveau de poste

    merci beucoup
    1. bonjour
      non aucune repertoire n est cree tout le contenu (les dossiers ) sont crees apres l execution de code et exactement apres le choix du partitionn

      j ai essayé de rassemblé les deux code, ainsi de faire des changements mais vraiment j arrive pas à trouver des solution

      ChoixDrive= inputbox ("Quel lecteur ?")

      If fexist.Folderexists(ChoixDrive & ":\logiciels\") <> true then
      Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\") 'creation du répertoire
      End If
      If fexist.Folderexists(ChoixDrive & ":\logiciels\design\") <> true then
      Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\") 'creation du répertoire
      End If
      If fexist.Folderexists(ChoixDrive & ":\logiciels\design\3D\") <> true then
      Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\3D\") 'creation du répertoire
      End If

      Set fsocreate = CreateObject("scripting.filesystemobject" )
      Set fexist = CreateObject("scripting.filesystemobject" )

      MesRep=Array("DOC","EXE")
      for i=1 to 2
      If fexist.Folderexists(ChoixDrive & ":\test\" & MesRep(i)) <> true then
      Set f = fsocreate.CreateFolder(ChoixDrive & ":\test\" & MesRep(i)) 'creation du répertoire
      End If
      next

      "" stp si tu verifies ce code ainsi de me donner le code final qui va creer cette arborescence
      puisque vraiment j ai pas de grande chose en script ""
      merci encore de ton aide
      1. Contributeur
        est ce que :\logiciels\design\3D est deja creer ??

        sinon, rajoute au debut du prog :

        If fexist.Folderexists(ChoixDrive & ":\logiciels\") <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\") 'creation du répertoire
        End If
        If fexist.Folderexists(ChoixDrive & ":\logiciels\design\") <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\") 'creation du répertoire
        End If
        If fexist.Folderexists(ChoixDrive & ":\logiciels\design\3D\") <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\3D\") 'creation du répertoire
        End If
        1. bnj j ai arriver à faire le necessaire
          le code final est

          Dim fsoopen, fsocreate, f, fexist

          ChoixDrive= inputbox ("Quel lecteur ?")

          Set fsocreate = CreateObject("scripting.filesystemobject" )
          Set fexist = CreateObject("scripting.filesystemobject" )

          If fexist.Folderexists(ChoixDrive & ":\logiciels\") <> true then
          Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\") 'creation du répertoire
          End If

          If fexist.Folderexists(ChoixDrive & ":\logiciels\design\") <> true then
          Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\") 'creation du répertoire
          End If

          If fexist.Folderexists(ChoixDrive & ":\logiciels\design\3D\") <> true then
          Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\3D\") 'creation du répertoire
          End If

          If fexist.Folderexists(ChoixDrive & ":\logiciels\design\3D\doc") <> true then
          Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\3D\doc") 'creation du répertoire
          End If

          If fexist.Folderexists(ChoixDrive & ":\logiciels\design\3D\exe") <> true then
          Set f = fsocreate.CreateFolder(ChoixDrive & ":\logiciels\design\3D\exe") 'creation du répertoire
          End If

          mais j ai encore 3 simples questions
          1- quel est le role du commande ""next""
          2- comment donner un titre pour ce code qui s affiche en haut de la fenetre
          3- comment convertir ce vbs a un fichier .exe pour le securise d aucune modification
          encore une fois merci beaucoup pour ton aide
      2. Contributeur
        et ben adapte toi !!! change test en :\logiciels\design\3D voyons !!
        1. j ai essayé de changer les repertoires ainsi les sous dossiers mais tjrs il m affiche des erreurs si tu m ecris le code final pour creer cette erborescence

          excuse mio bcp pour le derrangement
          cordialement
      3. Contributeur
        ok, t as d autres repertoire à créer ou pas??

        sinon la solution est :

        ChoixDrive= inputbox ("Quel lecteur ?")

        Set fsocreate = CreateObject("scripting.filesystemobject" )
        Set fexist = CreateObject("scripting.filesystemobject" )

        MesRep=Array("DOC","EXE")
        for i=1 to 2
        If fexist.Folderexists(ChoixDrive & ":\test\" & MesRep(i)) <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\test\" & MesRep(i)) 'creation du répertoire
        End If
        next
        1. bonjour
          ce dernier code ne sexecute pas il affiche des erreurs
          mais il ne contient pas les noms de l arborescence (les dossiers design et 3d...)
          puisque il faut les creer qu apres le choix de la partition
          merci et excuse moi bcp
      4. bnj merci pour la reponse mais j ai essayé de modifier ce code pour faire mon travail ça marche pas
        mnt le trv que je veux realise c:
        j prend comme repertoire d:
        d:\logiciels\design\3D\DOC
        d:\logiciels\design\3D\EXE

        ""
        d:
        logiciels
        design
        3d
        doc
        exe

        merci encore de ton aide
        1. Contributeur
          Bonjour,

          Mon code marche bien, il te cré un repertoire test et te cré dedans les repertoire que tu voulias (1;1/11;1/12;2;..)

          Mais bon.. soit....

          maintenant, tu veux un repertoire doc et exe dans d:\logiciels\design\3D c'est ca??
        2. @jjsteingbnj
          ton code est super, il marche trés bien
          oui, mnt je veux un code qui cree doc et exe dans d:\logiciels\design\3D
      5. Contributeur
        Dim fsoopen, fsocreate, f, fexist

        ChoixDrive= inputbox ("Quel lecteur ?")

        Set fsocreate = CreateObject("scripting.filesystemobject" )
        Set fexist = CreateObject("scripting.filesystemobject" )

        i=1
        j=1
        If fexist.Folderexists(ChoixDrive & ":\test\") <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\test\") 'creation du répertoire
        End If

        For i=1 to 2
        'MsgBox (ChoixDrive & ":\test\" & i)

        If fexist.Folderexists(ChoixDrive & ":\test\" & i) <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\test\" & i) 'creation du répertoire
        End If

        For j=1 to 2
        If fexist.Folderexists(ChoixDrive & ":\test\" & i & "\" & i & j) <> true then
        Set f = fsocreate.CreateFolder(ChoixDrive & ":\test\" & i & "\" & i & j) 'creation du répertoire
        End If
        Next
        Next
        1. Bnj merci pour la reponse mais j ai essayé de modifier ce code pour faire mon travail ça marche pas
          mnt le trv que je veux realise c:
          j prend comme repertoire d:
          d:\logiciels\design\3D\DOC
          d:\logiciels\design\3D\EXE

          ""
          d:
          logiciels
          design
          3d
          doc
          exe

          merci encore de ton aide
      6. Contributeur
        j'ai la solution , mais en vbscript.. ca te va??
        1. d accord j attend ta reponse
          merci bcp