请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
1310
等级:
(31)
已发布:
2013.10.24 14:46
已更新:
2016.11.22 07:33
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

这段脚本尝试移动源文件从客户端本地文件夹至所有客户端共享的子目录。文件名和子目录名由脚本的输入参数指定。客户端的本地文件夹位置包含在 TerminalInfoString() 函数。

PrintFormat("客户端本地文件夹路径: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
PrintFormat("客户端共享文件夹路径: %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));

首先, 脚本调用 FileIsExist() 函数来确认客户端本地文件夹中是否有源文件存在, 如果没有, 则发错误消息。之后它将检查是否有目标文件存在于指定路径。如果目标文件不存在, 移动执行江不会加 FILE_REWRITE 标志。否则, 使用标志, 或者移动不会执行。

代码:

//--- 当脚本启动时显示输入参数窗口
#property script_show_inputs
//--- 输入参数
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);
//--- 文件路径变量
   string src_path;
   string dst_path;
   StringConcatenate(src_path,InpSrcDirectory,"//",InpSrcName);
   StringConcatenate(dst_path,InpDstDirectory,"//",InpDstName);
//--- 检查源文件是否存在 (如果不存在 - 退出)
   if(FileIsExist(src_path))
      PrintFormat("%s 文件存在 %s\\Files\\%s 文件夹",InpSrcName,local,InpSrcDirectory);
   else
     {
      PrintFormat("错误, %s 源文件未发现",InpSrcName);
      return;
     }
//--- 检查目标文件是否存在
   if(FileIsExist(dst_path,FILE_COMMON))
     {
      PrintFormat("%s 文件存在 %s\\Files\\%s 文件夹",InpDstName,common,InpDstDirectory);
      //--- 文件存在, 移动操作要有 FILE_REWRITE 标志
      ResetLastError();
      if(FileMove(src_path,0,dst_path,FILE_COMMON|FILE_REWRITE))
         PrintFormat("%s 文件移动",InpSrcName);
      else
         PrintFormat("错误!代码 = %d",GetLastError());
     }
   else
     {
      PrintFormat("%s 文件不存在 %s\\Files\\%s 文件夹",InpDstName,common,InpDstDirectory);
      //--- 文件不存在, 移动操作执行无需 FILE_REWRITE 标志
      ResetLastError();
      if(FileMove(src_path,0,dst_path,FILE_COMMON))
         PrintFormat("%s 文件移动",InpSrcName);
      else
         PrintFormat("错误!代码 = %d",GetLastError());
     }
//--- 文件移动; 检查
   if(FileIsExist(dst_path,FILE_COMMON) && !FileIsExist(src_path,0))
      Print("成功!");
   else
      Print("错误!");
  }

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/1614

演示_FileCopy 演示_FileCopy

这段脚本简单示例如何使用 FileCopy() 函数

演示_FileDelete 演示_FileDelete

这段脚本简单示例如何使用 FileDelete() 函数

演示_FileFlush 演示_FileFlush

这段脚本简单示例如何使用 FileFlush() 函数

演示_FileIsEnding 演示_FileIsEnding

这段脚本简单示例如何使用 FileIsEnding() 函数