//--- mostrar a janela de parâmetros de entrada quando do lançamento do script #property script_show_inputs //--- parâmetros de entrada input ulong InpThresholdSize=20; // tamanho limite do arquivo em kilobytes input string InpBigFolderName="big"; // pasta para arquivos grandes input string InpSmallFolderName="small"; // pasta para arquivo pequeno //+------------------------------------------------------------------+ //| Programa Script da função start (iniciar) | //+------------------------------------------------------------------+ void OnStart() { string file_name; // variável para armazenar os nomes dos arquivos string filter="*.csv"; // filtro para pesquisar os arquivos ulong file_size=0; // tamanho do arquivo em bytes int size=0; // número de arquivos //--- imprimir o caminho para o arquivo que vamos trabalhar com PrintFormat("Trabalhando em pasta %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- receber o manipulador de pesquisa em comum na raiz da pasta de todos os terminais long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- verificar se FileFindFirst() é executada com sucesso if(search_handle!=INVALID_HANDLE) { //--- mover arquivos no loop de acordo com seus tamanhos do { //--- abrir o arquivo ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- receber o tamanho do arquivo file_size=FileSize(file_handle); //--- fechar o arquivo FileClose(file_handle); } else { PrintFormat("Falha para abrir %s arquivo, Código de erro = %d",file_name,GetLastError()); continue; } //--- imprimir o tamanho do arquivo PrintFormat("Tamanho do %s arquivo é igual para %d bytes",file_name,file_size); //--- define o caminho para movimentar o arquivo string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- mover o arquivo ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("%s arquivo foi movido",file_name); else PrintFormat("Erro, código = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- fechar o manipulador de pesquisa FileFindClose(search_handle); } else Print("Arquivo não encontrado!"); } |