iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кто не писал свой backup скрипт… давно дело было Set-ArchiveAttribute.ps1 Код: Param ( [Parameter(Mandatory=$true)] #Набор файлов. (Пример: $files = Get-ChildItem -Path "c:\Documents\Test\" -Recurse -File -Force). [System.IO.FileSystemInfo[]] $files, [Parameter(Mandatory=$true)] [ValidateLength(2,2)] #Выполняемая операция: (Установить атрибут архивный: A+, Снять атрибут архивный: A-, Инвертировать атрибут архивный: A!). [String] $operation ) #Проверка, есть ли файлы в списке, если нет, прервать скрипт. if (!($files)) { Throw "набор файлов пуст." } switch($operation) { 'A+' { #Установить атрибут архивный. ForEach ($file in $files) { $file.Attributes = $file.Attributes.Archive -bor ([System.IO.FileAttributes]::Archive) } } 'A-' { #Снять атрибут архивный. ForEach ($file in $files) { $file.Attributes = $file.Attributes.Archive -band ([System.IO.FileAttributes]::Archive) } } 'A!' { #Инвертировать атрибут архивный. ForEach ($file in $files) { $file.Attributes = $file.Attributes -bxor ([System.IO.FileAttributes]::Archive) } } default { Throw "$operation неопознано. Введите выполняемую операцию: (Установить атрибут архивный: A+, Снять атрибут архивный: A-, Инвертировать атрибут архивный: A!)." } } |
|