среда, 19 сентября 2012 г.

Копируем файл с одной машины на другую

Скрипт 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
                    }
            }
    }

Комментариев нет:

Отправить комментарий

X-Plane 11, 12 - любитель, Фото любитель со стажем

Постоянные читатели

Архив блога