Join our fan page
Demo_FileMove - script for MetaTrader 5
- Views:
- 4214
- Rating:
- Published:
- 2013.03.29 11:55
- Updated:
- 2016.11.22 07:32
- Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
The script tries to attempt to move the source file from subdirectory in the terminal local folder to target file in subdirectory in the shared folder of all the client terminals. The names of files and subdirectories are specified in script input parameters. The terminal local folder location can be obtained calling the TerminalInfoString() function.
PrintFormat("The path to the terminal local folder: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); PrintFormat("The path to the shared folder of all the client terminals: %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
At first, the script will use the FileIsExist() function to define, if there is a source file by the specified path in the terminal local folder, if not, then an error message will occur. Then it will be checked, if there is the target file by the specified path. If the target file does not exist, the movement will be performed without using the FILE_REWRITE flag. Otherwise, the flag is used, or the movement will not be performed.
Code:
//--- display the window of input parameters when launching the script #property script_show_inputs //--- input parameters input string InpSrcName="data.txt"; input string InpDstName="newdata.txt"; input string InpSrcDirectory="SomeFolder"; input string InpDstDirectory="OtherFolder"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string local=TerminalInfoString(TERMINAL_DATA_PATH); string common=TerminalInfoString(TERMINAL_COMMONDATA_PATH); //--- receive file paths string src_path; string dst_path; StringConcatenate(src_path,InpSrcDirectory,"//",InpSrcName); StringConcatenate(dst_path,InpDstDirectory,"//",InpDstName); //--- check if the source file exists (if not - exit) if(FileIsExist(src_path)) PrintFormat("%s file exists in the %s\\Files\\%s folder",InpSrcName,local,InpSrcDirectory); else { PrintFormat("Error, %s source file not found",InpSrcName); return; } //--- check if the result file already exists if(FileIsExist(dst_path,FILE_COMMON)) { PrintFormat("%s file exists in the %s\\Files\\%s folder",InpDstName,common,InpDstDirectory); //--- file exists, moving should be performed with FILE_REWRITE flag ResetLastError(); if(FileMove(src_path,0,dst_path,FILE_COMMON|FILE_REWRITE)) PrintFormat("%s file moved",InpSrcName); else PrintFormat("Error! Code = %d",GetLastError()); } else { PrintFormat("%s file does not exist in the %s\\Files\\%s folder",InpDstName,common,InpDstDirectory); //--- the file does not exist, moving should be performed without FILE_REWRITE flag ResetLastError(); if(FileMove(src_path,0,dst_path,FILE_COMMON)) PrintFormat("%s file moved",InpSrcName); else PrintFormat("Error! Code = %d",GetLastError()); } //--- the file is moved; let's check it out if(FileIsExist(dst_path,FILE_COMMON) && !FileIsExist(src_path,0)) Print("Success!"); else Print("Error!"); }
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/1614
The semaphore trend signal indicator
Demo_FileDeleteThe script demonstrates the example of using the FileDelete() function
The script demonstrates the example of using the FileFlush() function
i-IntradayFibonacciIntraday Fibonacci levels