# Путь к конфигурационному файлу MetaTrader 5 $filePath = "C:\MetaQuotes\Scripts\ExpWPRBBconfig.ini" # Базовое имя эксперта/отчета $expertName = "ExpWPRBB" # Путь для сохранения отчетов (относительно каталога данных MetaTrader 5, как в INI-файле) $reportPathBase = "Reports\" # Получаем первый аргумент, переданный скрипту [string]$IntervalType = $args[0] if ([string]::IsNullOrEmpty($IntervalType)) { $IntervalType = 'Month' } $today = Get-Date switch($IntervalType) { 'Day' { $fromDate = $today.AddDays(-1) Write-Host "Режим: Ежедневный (-1 день)" } 'Week' { $fromDate = $today.AddDays(-7) Write-Host "Режим: Еженедельный (-7 дней)" } 'Month' { $fromDate = $today.AddMonths(-1) Write-Host "Режим: Ежемесячный (-1 месяц)" } 'Quarter' { $fromDate = $today.AddMonths(-3) Write-Host "Режим: Ежеквартальный (-3 месяца)" } 'Year' { $fromDate = $today.AddYears(-1) Write-Host "Режим: Ежегодный (-1 год)" } default { $fromDate = $today.AddMonths(-1) Write-Host "Режим по умолчанию: Ежемесячный (-1 месяц)" } } # Форматируем даты: 1. дата начала 2. дата окончания $fromDateString = $fromDate.ToString("yyyy.MM.dd") $toDateString = $today.ToString("yyyy.MM.dd") # Генерируем уникальное имя отчета, используя даты и интервал $reportName = "${expertName}_${IntervalType}_${fromDateString}_to_${toDateString}" $fullReportPath = $reportPathBase + $reportName # Заменяем строки в файле (FromDate, ToDate и Report) (Get-Content -Path $filePath) ` -replace '^FromDate=.*$', "FromDate=$fromDateString" ` -replace '^ToDate=.*$', "ToDate=$toDateString" ` -replace '^Report=.*$', "Report=$fullReportPath" | Set-Content -Path $filePath # Выводим информацию в консоль для отладки Write-Host "Даты и путь отчета в файле $filePath успешно обновлены." Write-Host "FromDate установлен в $fromDateString" Write-Host "ToDate установлен в $toDateString" Write-Host "Report установлен в $fullReportPath" #Для чтения сообщений раскомментировать строку ниже #Read-Host -Prompt "Нажмите Enter для продолжения..."