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

 C Discussion :

[CVI] Parcourir des répertoires, tester, créer au besoin


Sujet :

C

  1. #1
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut [CVI] Parcourir des répertoires, tester, créer au besoin
    Bonjour,

    Me voilà de retour avec une question.

    J'ai bien repéré que la fonction MKDIR permet de créer des répertoires. Seulement, il ne le fais que pour un seul répertoire sans récursivité.

    Je me suis demander comment je pourrais faire une fonction du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Chemin C\\Users\\NomPC\\Documents\\MonRep
     
    // Nom de fonction fn_test_create_rep(path)
    // Le Path c'est le commentaire dessus
     
    // Tester C\\Users
       // Ca existe pas, créer C\\Users
    // Tester C\\Users\\NomPC
       // Ca existe pas, créer C\\Users\\NomPC
    // Tester C\\Users\\NomPC\\Documents
       // Ca existe pas, créer C\\Users\\NomPC\\Documents
    // Tester C\\Users\\NomPC\\Documents\\MonRep
       // Ca existe pas, créer C\\Users\\NomPC\\Documents\\MonRep
    Bien entendu, ça fait un bail que j'ai pas joué avec les récursives et c'est bien pour ça que je viens demander de l'aide ici

    Merci,

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    En effet je ne pense pas qu'il y ait d'appel système correspondant. Tu peux bien entendu l'implémenter en récursif.. ou pas. Qu'est-ce qui te bloque ?

    Fais bien attention de définir le comportement en cas d'erreur : faut-il détruire la hiérarchie créée jusqu'à présent si une erreur se produit ?

    Alternativement sous Unix-like, tu peux invoquer un script qui fait un mkdir -p depuis ton programme mais pas sûr que ce soit plus simple s'il faut que le code tourne en production.

  3. #3
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Bonjour,
    Je doute que mkdir crée un seul répertoire. Si c'est le cas alors faut revoir tout simple l'argument que vous passer a mkdir ou vous renseigner en cherchant dans la documentation de Microsoft relative à la commande mkdir (éventuellement aux routines système qui crée les répertoires). Cependant la commande mkdir que ça soit à travers un terminal de commande de Windows mkdir DEV\RECUR_A\RECUR_B\RECUR_C\RECUR_N ou à l'aide d'un script batch (voir ci-dessous) vous pouvez faire de la récursivité.
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    @echo off
    @cls
     
    setlocal EnableDelayedExpansion
     
    if not exist "C:\SUPER_REPERTOIRE\Recur_A\Recur_B\Recur_C\Recur_D\Recur_N" (
      mkdir "C:\SUPER_REPERTOIRE\Recur_A\Recur_B\Recur_C\Recur_D\Recur_N"
      if "!errorlevel!" EQU "0" ( 
    	echo Les repertoires ont ete crees avec succes
      ) else ( echo Impossible de crees les repertoires)
    ) else (
      echo Le ou les repertoires existe deja rectifier le script 
    )
     
    pause
    En langage de programmation. Je pars de l'hypothèse que vous utiliser l'IDE de chez Texa instrument sachant qu'il embarque ANSI C (langage de programmation C). Il existe une fonction appelée MakeDir utiliser avec GetDrive, SetDir et strtok combinez; le programme sera a même de créer un ou des sous-répertoires de façon récursive "ou non". Attention tout de même aux droits que vous possédez sur votre machine.

    À bientôt

Discussions similaires

  1. [Dynamic Job] Parcourir des répertoires de job et les exécuter
    Par lionrouge dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 31/10/2013, 09h45
  2. Parcourir des répertoires avec JSF
    Par minos23 dans le forum JSF
    Réponses: 8
    Dernier message: 03/06/2009, 23h34
  3. C++ windows créer des répertoires
    Par pascale_92 dans le forum C++
    Réponses: 4
    Dernier message: 01/03/2008, 23h23
  4. Réponses: 17
    Dernier message: 19/07/2007, 08h38
  5. [FTP] Créer et supprimer des répertoires à distance
    Par jc_cornic dans le forum Langage
    Réponses: 7
    Dernier message: 18/10/2006, 21h27

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