FileSize

A função retorna o tamanho do arquivo em bytes.

ulong  FileSize(
   int  file_handle    // Manipular arquivo
   );

Parâmetros

file_handle

[in]  Descritor de arquivo retornado pelo FileOpen().

Valor do Retorno

O valor do tipo int.

Observação

Para obter informação sobre o erro chamar GetLastError().

Exemplo:

//--- 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!");
  }