Bonjour à tous,

Je cherche à utiliser un Timer pour copier des fichiers d'un répertoire à un autre à un pas de temps donné.

Voilà le code du script qui contient le timer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
global i
% Fonction de récupération des noms de fichiers d'un répertoire dans une
% liste et de leur nombre dans nbpas_tps
[liste,nbpas_tps] = gestion_fichier('D:\Docs_these\ALHTAIR\Matlab\test',3);
i = 1
% Utilisation d'un timer pour execute la fonction move
t = timer('period',3.0);
set(t,'ExecutionMode','fixedrate','StartDelay',3);
t.timerfcn = {@move,['D:\Docs_these\ALHTAIR\Matlab\test\' liste(i).name],'D:\Docs_these\ALHTAIR\Matlab\test\essai',i};
start(t);
Voilà le code de la fonction "move" qui déplace les fichiers dans un répertoire passé en paramètre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function [i] = move(obj,Event,nom,repf,i)
movefile(nom,repf);
i = i + 1
end
Cela ne marche pas, en effet l'incrémentation de i n'est pas prise en compte lors de la deuxième exécution de la fonction "move" dans le script du timer.

Qu'en pensez vous ?

Merci d'avance

Vincent