Для автоматизации данной задачи можно использовать скрипт на PowerShell. Вот пример такого скрипта:
Код:
powershell
$sourceDir = "путь_к_исходной_директории"
$destinationDir = "путь_к_целевой_директории"
$backupDir = "путь_к_директории_для_бэкапов"
$files = Get-ChildItem -Path $sourceDir
foreach ($file in $files) {
$destinationPath = Join-Path -Path $destinationDir -ChildPath $file.Name
$backupPath = Join-Path -Path $backupDir -ChildPath ($file.Name + "_" + (Get-Date -Format "yyyyMMddHHmmss"))
if (Test-Path $destinationPath) {
# Бэкапим существующий файл
if (!(Test-Path $backupDir)) {
New-Item -Path $backupDir -ItemType Directory | Out-Null
}
Copy-Item -Path $destinationPath -Destination $backupPath -Force
}
Move-Item -Path $file.FullName -Destination $destinationPath -Force
}
В данном скрипте необходимо заменить следующие переменные согласно вашим путям:
- `$sourceDir` - путь к исходной директории, где находятся файлы, которые нужно переместить
- `$destinationDir` - путь к целевой директории, куда нужно переместить файлы (существующие файлы будут заменены)
- `$backupDir` - путь к директории, где нужно создать бэкапы существующих файлов (если необходимо)
Выполните этот скрипт на каждом сервере с Windows, на котором требуется выполнить данную задачу.