# FileGetInteger Gets an integer property of a file. There are two variants of the function. 1. Get a property by the handle of a file. ``` long  FileGetInteger(    int                         file_handle,   // File handle    ENUM_FILE_PROPERTY_INTEGER  property_id    // Property ID    ); ``` 2. Get a property by the file name. ``` long  FileGetInteger(    const string                file_name,            // File name    ENUM_FILE_PROPERTY_INTEGER  property_id,          // Property ID    bool                        common_folder=false   // The file is viewed in a local folder (false)    );                                                // or a common folder of all terminals (true) ``` Parameters file_handle [in]  File descriptor returned by [FileOpen()](/en/docs/files/fileopen). file_name [in]  File name. property_id [in]  File property ID. The value can be one of the values of the [ENUM_FILE_PROPERTY_INTEGER](/en/docs/constants/io_constants/enum_file_property_integer) enumeration. If the second variant of the function is used, you can receive only the values of the [following properties](/en/docs/constants/io_constants/enum_file_property_integer#filegetinteger_limitation): FILE_EXISTS, FILE_CREATE_DATE, FILE_MODIFY_DATE, FILE_ACCESS_DATE and FILE_SIZE. common_folder=false [in]  Points to the file location. If the parameter is false, terminal data folder is viewed. Otherwise it is assumed that the file is in the shared folder of all terminals \Terminal\Common\Files ([FILE_COMMON](/en/docs/constants/io_constants/fileflags)). Return Value The value of the property. In case of an error, -1 is returned. To get an error code use the [GetLastError()](/en/docs/check/getlasterror) function. If a folder is specified when getting properties by the name, the function will have error 5018 (ERR_MQL_FILE_IS_DIRECTORY) in any case, though the return value will be correct. Note The function always changes the error code. In case of successful completion the error code is reset to NULL. Example: ``` //--- display the window of input parameters when launching the script #property script_show_inputs //--- input parameters input string InpFileName="data.csv"; input string InpDirectoryName="SomeFolder"; //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   {    string path=InpDirectoryName+"//"+InpFileName;    long   l=0; //--- open the file    ResetLastError();    int handle=FileOpen(path,FILE_READ|FILE_CSV);    if(handle!=INVALID_HANDLE)      {       //--- print all information about the file       Print(InpFileName," file info:");       FileInfo(handle,FILE_EXISTS,l,"bool");       FileInfo(handle,FILE_CREATE_DATE,l,"date");       FileInfo(handle,FILE_MODIFY_DATE,l,"date");       FileInfo(handle,FILE_ACCESS_DATE,l,"date");       FileInfo(handle,FILE_SIZE,l,"other");       FileInfo(handle,FILE_POSITION,l,"other");       FileInfo(handle,FILE_END,l,"bool");       FileInfo(handle,FILE_IS_COMMON,l,"bool");       FileInfo(handle,FILE_IS_TEXT,l,"bool");       FileInfo(handle,FILE_IS_BINARY,l,"bool");       FileInfo(handle,FILE_IS_CSV,l,"bool");       FileInfo(handle,FILE_IS_ANSI,l,"bool");       FileInfo(handle,FILE_IS_READABLE,l,"bool");       FileInfo(handle,FILE_IS_WRITABLE,l,"bool");       //--- close the file       FileClose(handle);      }    else       PrintFormat("%s file is not opened, ErrorCode = %d",InpFileName,GetLastError());   } //+------------------------------------------------------------------+ //| Display the value of the file property                           | //+------------------------------------------------------------------+ void FileInfo(const int handle,const ENUM_FILE_PROPERTY_INTEGER id,               long l,const string type)   { //--- receive the property value    ResetLastError();    if((l=FileGetInteger(handle,id))!=-1)      {       //--- the value received, display it in the correct format       if(!StringCompare(type,"bool"))          Print(EnumToString(id)," = ",l ? "true" : "false");       if(!StringCompare(type,"date"))          Print(EnumToString(id)," = ",(datetime)l);       if(!StringCompare(type,"other"))          Print(EnumToString(id)," = ",l);      }    else       Print("Error, Code = ",GetLastError());   } ``` See also [File Operations](/en/docs/files), [File Properties](/en/docs/constants/io_constants/enum_file_property_integer)