//+——————————————————————+ //| Demo_FolderCreate.mq5 | //| Copyright 2011, MetaQuotes Software Corp. | //| https://www.mql5.com | //+——————————————————————+ #propertycopyright“Copyright 2011, MetaQuotes Software Corp.” #propertylink“https://www.mql5.com” #propertyversion“1.00” //— description #propertydescription“The script shows FolderCreate() application sample.” #propertydescription“The external parameter defines the directory for creating folders.” #propertydescription“The folder structure is created after executing the script” //— display window of the input parameters during the script’s launch #propertyscript_show_inputs //— the input parameter defines the folder, in which the script works inputboolcommon_folder=false; // common folder for all terminals //+——————————————————————+ //| Script program start function | //+——————————————————————+ voidOnStart() { //— folder to be created in MQL5\Files string root_folder=“Folder_A”; if(CreateFolder(root_folder,common_folder)) { //— create the Child_Folder_B1 sub-folder in it string folder_B1=“Child_Folder_B1”; string path=root_folder+“\\”+folder_B1; // create the folder name considering the structure if(CreateFolder(path,common_folder)) { //— create 3 more sub-directories in this folder string folder_C11=“Child_Folder_C11”; string child_path=root_folder+“\\”+folder_C11;// create the folder name considering the structure CreateFolder(child_path,common_folder); //— second sub-directory string folder_C12=“Child_Folder_C12”; child_path=root_folder+“\\”+folder_C12; CreateFolder(child_path,common_folder); //— third sub-directory string folder_C13=“Child_Folder_C13”; child_path=root_folder+“\\”+folder_C13; CreateFolder(child_path,common_folder); } } //— } //+——————————————————————+ //| Try creating a folder and display a message about that | //+——————————————————————+ bool CreateFolder(string folder_path,bool common_flag) { int flag=common_flag?FILE_COMMON:0; string working_folder; //— define the full path depending on the common_flag parameter if(common_flag) working_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH)+“\\MQL5\\Files”; else working_folder=TerminalInfoString(TERMINAL_DATA_PATH)+“\\MQL5\\Files”; //— debugging message PrintFormat(“folder_path=%s”,folder_path); //— attempt to create a folder relative to the MQL5\Files path if(FolderCreate(folder_path,flag)) { //— display the full path for the created folder PrintFormat(“Created the folder %s”,working_folder+“\\”+folder_path); //— reset the error code ResetLastError(); //— successful execution returntrue; } else PrintFormat(“Failed to create the folder %s. Error code %d”,working_folder+folder_path,GetLastError()); //— execution failed returnfalse; }