Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Скрипт на переброс и удаление. Что не так? (http://forum.oszone.net/showthread.php?t=345979)

tubxtru 28-07-2020 06:03 2929441

Скрипт на переброс и удаление. Что не так?
 
$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 2929445

$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 2929451

Код:

-confirm:$false

tubxtru 28-07-2020 08:31 2929454

-Recurse вот она вставочка для удаления подтверждения) всем спасибо!

DJ Mogarych 28-07-2020 09:44 2929456

Это не вставочка для удаления подтверждения, а указание обрабатывать подпапки.

Sham 28-07-2020 13:29 2929478

Test-Path строку что-ли возвращает?

YuS_2 28-07-2020 14:15 2929491

Цитата:

Цитата Sham
Test-Path строку что-ли возвращает? »

Цитата:

Выходные данные
System.Boolean
The cmdlet returns a Boolean value.

tubxtru 27-10-2020 05:58 2937695

Переделанный...


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

tubxtru, коллега, может, Вы начнёте пользовать тэг «code», а?

tubxtru 28-10-2020 06:10 2937836

Iska
Спасибо за ссылку)


Время: 22:21.

Время: 22:21.
© OSzone.net 2001-