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

MATLAB Discussion :

Creation de dossiers dont le nom s'incremente dans une boucle [Débutant]


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut Creation de dossiers dont le nom s'incremente dans une boucle
    Bonjour,

    Je dispose d'un paquet de fichiers dicom regroupes dans un dossier, et je dois les separer pour les mettre chacun dans un dossier;

    Pour ceci, voila comment j'ai tente de proceder:

    -Avec la fonction dir, je cree une matrice de fichiers, appelee M
    -Puis je cree une boucle avec i de 1 a numel(mondossierdebase)
    -Et a chaque tour de boucle, je mets
    -un mkdir('dossierparent',dossier(i)')
    -un copyfile(M[i],'dossier(i)')

    MON PROBLEME: Je voudrais bien creer un dossier "Dossier(i)" a chaque tour de boucle avec mkdir, avec le i correspondant au tour de boucle...mais ca marche pas la il me dit evidemment "attention vous etes en tain de creer plein de fois le meme dossier alors ca sert a rien espece d'idiot"

    du coup........

    quelqu'un pourrait-il m'indiquer comment faire pour pouvoir incrementer le nom du dossier svp? je suis sur que c trivial pr tout le monde, mais je connais pas bien Matlab (ni la prog en general) et j'ai pas trouve dans vos diverses discussions...

    merci d'avance!!

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    merci bien, et dsl ^^

  4. #4
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    ah ms je me retrouve comme un c** maintenant, parce que du coup mon idee de mettre un dir ne me permet pas d'acceder aux fichiers dicom..

    donc en gros il cree bien les dossiers que je lui demande, mais il ne sait pas ou sont les fichiers... existe t il un moyen de balayer un dossier, de copier 1 fichier a chaque tour de boucle, pour le copier dans un dossier cree correspondant? Je l'avais deja fait sur IDL dc je suppose que MATLAB doit avoir ca dans ses competences.. je vais continuer a farfouiller ds la FAQ ms si y en a un qui n'a rien a faire et peut m'aiguiller,ce serait cool, merci!

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Merci magelan

    Tous mes petits dossiers Dicom ont bien ete copies, il ne me manque plus que trouver comment faire correspondre un fichier a un dossier fraichement cree... car je n'arrive pas a lui faire lire ce que j''ai ecrit dans mon mkdir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    K=dir (blablabla)
    
    for i=3:numel(K)
    mkdir ('C:\Rodolphe',sprintf ('essai%03d',i));
    copyfile (fullfile(rep, K(i).name),'C:\Rodolphe\JESAIPASCKEJDOIMETTREICI');
    end
    parce qu'il comprend pas le "%03d,i" je crois...

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Tu peux ré-utiliser sprintf pour générer la chaine de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copyfile (fullfile(rep, K(i).name),fullfile('C:\Rodolphe\',sprintf ('essai%03d',i)));
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  8. #8
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Salut!

    Merci beaucoup magelan pour ton aide (merci aussi a Dut!), j'avais trouve la solution hier soir chez moi (chui au Canada ) mais je pense grace a toi avoir bien compris ces histoires d'incrementation a present..
    Merci egalement pour votre patience et vos reponses rapides !!

    Desole enfin pour les balises code!

    Excellente journee

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

Discussions similaires

  1. Instancier une classe dont le nom est contenu dans une String
    Par fyque dans le forum Général Python
    Réponses: 15
    Dernier message: 13/06/2008, 12h33
  2. ouverture d'un classeur dont son nom se trouve dans une cellule
    Par mosta2010 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/02/2008, 16h55
  3. [XSLT] Attribut dont le nom est stocké dans une variable ?
    Par Xfennec dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/03/2006, 11h20
  4. Réponses: 2
    Dernier message: 05/01/2006, 10h44
  5. Réponses: 7
    Dernier message: 25/10/2005, 15h19

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