//--- show the window of input parameters when launching the script #property script_show_inputs //--- input parameters input ulong InpThresholdSize=20; // file threshold size in kilobytes input string InpBigFolderName="big"; // folder for large files input string InpSmallFolderName="small"; // folder for small files //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string file_name; // variable for storing file names string filter="*.csv"; // filter for searching the files ulong file_size=0; // file size in bytes int size=0; // number of files //--- print the path to the file we are going to work with PrintFormat("Working in %s\\Files\\ folder",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- receive the search handle in common folder's root of all terminals long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- check if FileFindFirst() has been executed successfully if(search_handle!=INVALID_HANDLE) { //--- move files in the loop according to their size do { //--- open the file ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- receive the file size file_size=FileSize(file_handle); //--- close the file FileClose(file_handle); } else { PrintFormat("Failed to open %s file, Error code = %d",file_name,GetLastError()); continue; } //--- print the file size PrintFormat("Size of %s file is equal to %d bytes",file_name,file_size); //--- define the path for moving the file string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- move the file ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("%s file is moved",file_name); else PrintFormat("Error, code = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- close the search handle FileFindClose(search_handle); } else Print("Files not found!"); } |