Bonjour

Alors j'ai un petit problème avec un déplacement de fichiers, il est vrai un peu complexe. Je m'explique:

J'ai des fichiers YAML qui contienent plein d'infos. Parmi elles, le nom d'un accélérateur, et la dose par séance.

J'ai extrait la dose par seance de chaque fichier YAML et l'ai stockée sous forme de petit fichier texte dans le dossier "dose_per_seance"

Ce que je voudrais c'est donc créer une boucle qui:
-Lit les fichiers YAML
-identifie le champ "machine_code"
-Distingue les 3 cas d'accelerateurs differents (parmi lesquel "PRIMUS")
-Déplace les petits fichiers texte correspondant aux doses par seance de chaque accelerateur dans 3 dossiers distincts.

Voici mon code pour le moment, dans le cas de l'exemple de protocole "uro_05":

Code : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
ext = ('*.yaml');
dos=protocole;
chemin = fullfile(dos,ext);
list = dir(chemin);
 
switch lower (champ)
 
    case 'dose_per_seance'
 
        switch lower (protocole)
 
            case 'uro_05'
 
                recup_donnees_doseperseance('uro_05');
                dossier1 = 'URO_05\faisceau270\dose_per_seance';
                dossier2 = 'URO_05\faisceau_90\dose_per_seance';
                dossier3 = 'URO_05\faisceau_ant\dose_per_seance';
                dossier4 = 'URO_05\faisceau_post\dose_per_seance';
 
for j=1:numel(list)
 
                    YamlStruct1 = ReadYaml(sprintf('URO_05\\IG_PVSIGR_Prostate%d.yaml',j));
 
                    for i =1:numel(YamlStruct1.dosimetries.beams)
 
                        switch lower (YamlStruct1.dosimetries.beams(i).machine_code)
 
                            case 'PRIMUS'
 
                                a=fullfile(dossier1,'patient%d.txt',i);
                                movefile(fullfile(dossier1,'patient%d.txt',i),fullfile(dossier1,'PRIMUS_18MV','patient%d.txt',i));
                                movefile(fullfile(dossier2,'patient%d.txt',i),fullfile(dossier2,'PRIMUS_18MV','patient%d.txt',i));
                                movefile(fullfile(dossier3,'patient%d.txt',i),fullfile(dossier3,'PRIMUS_18MV','patient%d.txt',i));
                                movefile(fullfile(dossier4,'patient%d.txt',i),fullfile(dossier4,'PRIMUS_18MV','patient%d.txt',i));
                        end
                    end 
                end
 
        end
Le probleme ben c'est qu'il ne me déplace rien du tout

Pouvez-vous identifier pourquoi??

Merci beaucoup d'avance!!