下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

显示:
526
等级:
投票: 33
已发布:
2013.10.24 14:24
已更新:
2016.11.22 07:33

这段脚本搜索客户端本地文件夹中所有文本文件,并删除所有创建日期小于 "InpFilesDate" 输入参数的文件。客户端的本地文件夹位置包含在 TerminalInfoString() 函数。

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

注: 脚本将删除本地文件夹中所有创建早于 2010 年 1 月 1 日的文本文件 (InpFilesDate 参数的省缺值)。所以, 启动脚本前, 确认客户端本地文件夹中没有重要文件。

代码:

//--- 当脚本启动时显示输入参数窗口
#property script_show_inputs
//--- 老文件日期
input datetime InpFilesDate=D'2010.01.01 00:00';
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // 存储文件名变量
   string   filter="*.txt"; // 搜索文件过滤
   datetime create_date;    // 文件创建日期
   string   files[];        // 文件名清单
   int      def_size=25;    // 省缺尺寸数组
   int      size=0;         // 文件数
//--- 为数组分配内存
   ArrayResize(files,def_size);
//--- 搜索句柄
   long search_handle=FileFindFirst(filter,file_name);
//--- 检查是否 FileFindFirst() 执行成功
   if(search_handle!=INVALID_HANDLE)
     {
      //--- 循环搜索文件
      do
        {
         files[size]=file_name;
         //--- 增加数组尺寸
         size++;
         if(size==def_size)
           {
            def_size+=25;
            ArrayResize(files,def_size);
           }
         //--- 重置错误值
         ResetLastError();
         //--- 接收文件创建日期
         create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false);
         //--- 检查文件是否太旧
         if(create_date<InpFilesDate)
           {
            PrintFormat("%s 文件删除!",file_name);
            //--- 删除旧文件
            FileDelete(file_name);
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- 关闭搜索句柄
      FileFindClose(search_handle);
     }
   else
     {
      Print("文件未找到!");
      return;
     }
//--- 检查剩余文件
   PrintFormat("结果:");
   for(int i=0;i<size;i++)
     {
      if(FileIsExist(files[i]))
         PrintFormat("%s 文件存在!",files[i]);
      else
         PrintFormat("%s 文件删除!",files[i]);
     }
  }

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/1610

演示_FileFind 演示_FileFind

这段脚本简单示例如何使用 FileFindFirst(), FileFindNext() 和 FileFindClose() 函数

在单一窗口中显示若干 CChartObject 对象 在单一窗口中显示若干 CChartObject 对象

这段脚本在单一图表窗口中显示若干子图表,子图表数量则是市场观察菜单中的货币对数量。

演示_FileCopy 演示_FileCopy

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

演示_FileMove 演示_FileMove

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