![]() |
Скрипт на переброс и удаление. Что не так?
$VMName ="1cs"
$VMName ="скрипт" $log ="C:\Scripts\logs\" + $VMName+ ".log" $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- START --- "+$data >> $log $p1 = "C:\1" $p2 = "\\it9\MSI\Новая папка" $ist = "C:\дворф\test" $isp1 = Test-Path -Path "C:\1\1sc.txt" $isp2 = Test-Path -Path "\\it9\MSI\Новая папка\1sc.txt" if ($isp1 -eq "False", $isp2 -eq "False") { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } elseif ($isp1 -eq "True", $isp2 -eq "False") { Remove-Item -Path "\\it9\MSI\Новая папка\*" Remove-Item -Path "C:\1\1sc.txt" Copy-Item $ist -Destination $p2 -Recurse -Force -Verbose New-Item $p2 -name 1sc.txt -type "file" } elseif ($isp1 -eq "False", $isp2 -eq "True") { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } else { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } #=================================== $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- FINISH --- "+$data >> $log Проблема в том что при проверке блоков выдает ошибку. Что не так может кто что увидит? |
$VMName ="1cs"
$VMName ="скрипт" $log ="C:\Scripts\logs\" + $VMName+ ".log" $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- START --- "+$data >> $log $p1 = "C:\1" $p2 = "\\it9\MSI\Новая папка" $ist = "C:\дворф\test" $isp1 = Test-Path -Path "C:\1\1sc.txt" $isp2 = Test-Path -Path "\\it9\MSI\Новая папка\1sc.txt" if ($isp1 -eq "True" -and $isp2 -ne "True") { Remove-Item -Path "\\it9\MSI\Новая папка\*" Remove-Item -Path "C:\1\1sc.txt" Copy-Item $ist -Destination $p2 -Recurse -Force -Verbose New-Item $p2 -name 1sc.txt -type "file" } elseif ($isp2 -eq "True" -and $isp1 -ne "True") { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } elseif ($isp2 -eq "False" -and $isp1 -eq "True") { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } else { Remove-Item -Path "C:\1\*" Remove-Item -Path "\\it9\MSI\Новая папка\1sc.txt" Copy-Item $ist -Destination $p1 -Recurse -Force -Verbose New-Item $p1 -name 1sc.txt -type "file" } #=================================== $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- FINISH --- "+$data >> $log Вот так вот работает! А теперь вопрос как мне сделать так что бы при удалении файлов ПШ не просил подтверждения на удаление??? |
Код:
-confirm:$false |
-Recurse вот она вставочка для удаления подтверждения) всем спасибо!
|
Это не вставочка для удаления подтверждения, а указание обрабатывать подпапки.
|
Test-Path строку что-ли возвращает?
|
Цитата:
Цитата:
|
Переделанный...
#---задаем имя машины и каталоги резервного копирования, каталог логирования, записываем время начала. Недельный!!!! $VMName ="Chili" $log ="C:\Scripts\logs\" + $VMName+ ".log" $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- START --- "+$data >> $log #Путь к папке (конечная) $papka1 = "\\backup\e$\Chili" $papka2 = "\\nautilus\e$\Chili" #Источник $istochnik = "\\0,0,0,0\backup\" #Выбор папки по последним датам (конечная) $IshDate1 = (Get-Item \\backup\e$\Chili).LastWriteTime -le (Get-Item \\nautilus\e$\Chili).LastWriteTime $IshDate2 = (Get-Item \\backup\e$\Chili).LastWriteTime -ge (Get-Item \\nautilus\e$\Chili).LastWriteTime if ($IshDate1 -ne "True" -and $IshDate2 -eq "True") { robocopy "$istochnik" "$papka2" /MIR #делаем синхронизацию } elseif ($IshDate1 -eq "True" -and $IshDate2 -ne "True") { robocopy "$istochnik" "$papka1" /MIR } elseif ($IshDate1 -eq "True" -and $IshDate2 -eq "True") { robocopy "$istochnik" "$papka1" /MIR } elseif ($IshDate1 -ne "True" -and $IshDate2 -ne "True") { robocopy "$istochnik" "$papka1" /MIR } #=================================== $data = Get-Date -Format "dddd MM/dd/yyyy HH:mm" $VMName+" --- FINISH --- "+$data >> $log |
tubxtru, коллега, может, Вы начнёте пользовать тэг «code», а?
|
Iska
Спасибо за ссылку) |
Время: 22:21. |
Время: 22:21.
© OSzone.net 2001-