param (
    [string]$destinationFolder = "../savegame4"
)

# Получаем путь к текущей папке (папка скрипта)
$scriptFolder = Split-Path $MyInvocation.MyCommand.Path -Parent

# Убедимся, что папка назначения существует, если нет — создаем её
if (-not (Test-Path -Path $destinationFolder)) {
    New-Item -Path $destinationFolder -ItemType Directory
}

# Получаем все файлы и папки в текущей папке, исключая .git, downloadSaves.ps1 и uploadSaves.ps1
$filesToCopy = Get-ChildItem -Path $scriptFolder -Recurse | Where-Object {
    $_.FullName -notmatch '\\\.git' -and
    $_.Name -ne 'downloadSaves.ps1' -and
    $_.Name -ne 'uploadSaves.ps1'
}

# Копируем файлы в папку назначения
foreach ($file in $filesToCopy) {
    # Если это папка, создаем такую же структуру в папке назначения
    if ($file.PSIsContainer) {
        $destinationPath = $file.FullName.Replace($scriptFolder, $destinationFolder)
        if (-not (Test-Path -Path $destinationPath)) {
            New-Item -Path $destinationPath -ItemType Directory
        }
    } else {
        # Если это файл, копируем в папку назначения
        $destinationFile = $file.FullName.Replace($scriptFolder, $destinationFolder)
        Copy-Item -Path $file.FullName -Destination $destinationFile
    }
}

Write-Host "Копирование завершено."
