//--- montrons la fenêtre des paramètres d'entrée au lancement du script #property script_show_inputs //--- les paramètres d'entrée input ulong InpThresholdSize=20; // la frontière de la taille des fichiers en kilooctets input string InpBigFolderName="big"; // le dossier pour les grands fichiers input string InpSmallFolderName="small"; // le dossier pour les petits fichiers //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string file_name; // la variable pour la sauvegarde des noms des fichiers string filter="*.csv"; // le filtre pour la recherche des fichiers ulong file_size=0; // la taille du fichier en octets int size=0; // le nombre de fichier //--- imprimons la voie vers le dossier dans lequel on va travailler PrintFormat("Travaillons dans le dossier %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- la réception du handle de la recherche dans la racine du dossier total de tous les terminaux long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- vérifions si la fonction FileFindFirst() a travaillé avec succès if(search_handle!=INVALID_HANDLE) { //--- dans le cycle nous déplaçons les fichiers en fonction de leur taille do { //--- ouvrons le fichier ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- recevrons la taille du fichier file_size=FileSize(file_handle); //--- fermons le fichier FileClose(file_handle); } else { PrintFormat("On n' a pas réussi à ouvrir le fichier %s, le code de l'erreur = %d",file_name,GetLastError()); continue; } //--- imprimons la taille du fichier PrintFormat("La taille du fichier %s est égal au %d octets",file_name,file_size); //--- définirons la voie pour le déplacement du fichier string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- déplaçons le fichier ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("Le fichier %s est déplacé",file_name); else PrintFormat("L'erreur, le code = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- fermons le handle de la recherche FileFindClose(search_handle); } else Print("Files not found!"); } |