Войти

Показать полную графическую версию : [решено] Скрипт на переброс и удаление. Что не так?


tubxtru
28-07-2020, 06:03
$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


Проблема в том что при проверке блоков выдает ошибку. Что не так может кто что увидит?

tubxtru
28-07-2020, 07:19
$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


Вот так вот работает! А теперь вопрос как мне сделать так что бы при удалении файлов ПШ не просил подтверждения на удаление???

DJ Mogarych
28-07-2020, 08:11
-confirm:$false

tubxtru
28-07-2020, 08:31
-Recurse вот она вставочка для удаления подтверждения) всем спасибо!

DJ Mogarych
28-07-2020, 09:44
Это не вставочка для удаления подтверждения, а указание обрабатывать подпапки.

Sham
28-07-2020, 13:29
Test-Path строку что-ли возвращает?

YuS_2
28-07-2020, 14:15
Test-Path строку что-ли возвращает? »
Выходные данные
System.Boolean
The cmdlet returns a Boolean value.

tubxtru
27-10-2020, 05:58
Переделанный...


#---задаем имя машины и каталоги резервного копирования, каталог логирования, записываем время начала. Недельный!!!!
$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

Iska
27-10-2020, 21:19
tubxtru, коллега, может, Вы начнёте пользовать тэг «code (http://forum.oszone.net/misc.php?do=bbcode#code)», а?

tubxtru
28-10-2020, 06:10
Iska
Спасибо за ссылку)




© OSzone.net 2001-2012