FolderCreate

函数在文件目录下新建目录 (依据 common_flag的值 )。

bool  FolderCreate(

   string  folder_name,       // 带有新文件夹名的字符串

   int     common_flag=0      // 范围

   );

参量

folder_name

[in] Name of the directory to be created. Contains the relative path to the folder.

common_flag=0

[in] 标记 决定目录位置,如果common_flag=FILE_COMMON,那么目录在所有客户端的共享目录中 \Terminal\Common\Files,否则,目录会在本地文件夹中(MQL5\Files 或者 MQL5\Tester\Files )。

返回值

如果成功返回true, 否则-false。

注释

出于安全考虑,工作文件必须严格由MQL5语言管理。使用MQL5实 施文件操作的文件意味着,不能在文件沙箱外。

示例 :

#property copyright "Copyright 2011, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

//--- description

#property description "The script shows FolderCreate() application sample."

#property description "The external parameter defines the directory for creating folders."

#property description "The folder structure is created after executing the script"



//--- display window of the input parameters during the script's launch

#property script_show_inputs

//--- the input parameter defines the folder, in which the script works

input bool     common_folder=false; // common folder for all terminals

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()

  {

//--- 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

      return true;

     }

   else

      PrintFormat("Failed to create the folder %s. Error code %d",working_folder+folder_path,GetLastError());

//--- execution failed

   return false;

  }

另见

FileOpen(), FolderClean(), FileCopy()