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 "Копирование завершено."