#property copyright "Copyright 2000-2024, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //--- 설명 #property description "스크립트에는 FolderCreate() 애플리케이션 샘플이 표시됩니다." #property description "외부 파라미터는 폴더를 생성하기 위한 디렉터리를 정의합니다." #property description "폴더 구조는 스크립트를 실행한 후 생성됩니다" //--- 스크립트 실행 중 입력 매개 변수의 표시 창 #property script_show_inputs //--- 입력 매개 변수는 스크립트가 작동하는 폴더를 정의합니다 input bool common_folder=false; // 모든 터미널을 위한 공용 폴더 //+------------------------------------------------------------------+ //| 스크립트 프로그램 시작 함수 | //+------------------------------------------------------------------+ void OnStart() { //--- MQL5\Files 에 생성될 폴더 string root_folder="Folder_A"; if(CreateFolder(root_folder,common_folder)) { //--- 그 안에 Child_Folder_B1 sub-folder 생성 string folder_B1="Child_Folder_B1"; string path=root_folder+"\\"+folder_B1; // 구조를 고려하여 폴더 이름을 생성합니다 if(CreateFolder(path,common_folder)) { //--- 이 폴더에 하위 디렉터리를 3개 더 생성 string folder_C11="Child_Folder_C11"; string child_path=root_folder+"\\"+folder_C11;// 구조를 고려하여 폴더 이름을 생성 CreateFolder(child_path,common_folder); //--- 두 번째 하위 디렉터리 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); } } //--- } //+------------------------------------------------------------------+ //| 폴더를 만들고 관련 메시지를 표시해 보십시오 | //+------------------------------------------------------------------+ bool CreateFolder(string folder_path,bool common_flag) { int flag=common_flag?FILE_COMMON:0; string working_folder; //--- common_flag 파라미터에 따라 전체 경로 정의 if(common_flag) working_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH)+"\\MQL5\\Files"; else working_folder=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files"; //--- 디버깅 메시지 PrintFormat("folder_path=%s",folder_path); //--- MQL5\Files 경로와 관련한 폴더 생성 시도 if(FolderCreate(folder_path,flag)) { //--- 생성된 폴더의 전체 경로 표시 PrintFormat("Created the folder %s",working_folder+"\\"+folder_path); //--- 에러 코드 재설정 ResetLastError(); //--- 실행 성공 return true; } else PrintFormat("%s 폴더 생성 실패. Error code %d",working_folder+folder_path,GetLastError()); //--- 실행 실패 return false; } |