Скрипт powershell, выполняющий копирование файлов с сетевого диска на текущий локальный для архивации:
задаем локации
$Dest1 = "\\sqlProm\24retail" - Это расшаренный по сети диск
$Dest2 = "d:\backup2005" - Это локальный диск
Выполняем цикл по всем файлам на сетевом диске с расширением .trn
ForEach ($File in (Get-ChildItem $Dest1 -Filter "*.trn" ))
{
#Задаем переменную с путем из второй папки.
$Dest1ToDest2= $File.FullName.Replace($Dest1, $Dest2)
#Проверяем существует ли файл во второй папке, который существует в папке 1
if ((Test-Path -path $Dest1ToDest2) -ne $True)
{
#Если файл не существует, то скопируем его из папки1 в папку2
Copy-Item $File.FullName $Dest1ToDest2 -Force
}
Else
{
#Файл существует. Значит будем проверять даты.
if ((Dir $File.FullName).LastWriteTime -gt (Dir $Dest1ToDest2).LastWriteTime)
{
#Файл существует, и в папке 1 изменения сделаны позже, чем в Папке 2
Copy-Item $File.FullName $Dest1ToDest2 -Force
}
}
}
задаем локации
$Dest1 = "\\sqlProm\24retail" - Это расшаренный по сети диск
$Dest2 = "d:\backup2005" - Это локальный диск
Выполняем цикл по всем файлам на сетевом диске с расширением .trn
ForEach ($File in (Get-ChildItem $Dest1 -Filter "*.trn" ))
{
#Задаем переменную с путем из второй папки.
$Dest1ToDest2= $File.FullName.Replace($Dest1, $Dest2)
#Проверяем существует ли файл во второй папке, который существует в папке 1
if ((Test-Path -path $Dest1ToDest2) -ne $True)
{
#Если файл не существует, то скопируем его из папки1 в папку2
Copy-Item $File.FullName $Dest1ToDest2 -Force
}
Else
{
#Файл существует. Значит будем проверять даты.
if ((Dir $File.FullName).LastWriteTime -gt (Dir $Dest1ToDest2).LastWriteTime)
{
#Файл существует, и в папке 1 изменения сделаны позже, чем в Папке 2
Copy-Item $File.FullName $Dest1ToDest2 -Force
}
}
}
Комментариев нет:
Отправить комментарий