У меня есть несколько файлов и папок, для которых я хочу создать резервную копию с помощью powershell.Я использую массивы для хранения расширений файлов, которые я хочу сделать из одной резервной копии, а затем я создаю резервную копию всей папки.Файлы zip, которые я создаю, называются TxtFileBkup_yyyymmdd_hhMMss.zip и FldrBkup_yyyymmdd_hhMMss.zip.
Я создаю список элементов для резервного копирования (по расширению) следующим образом:
$extArray = @("*.txt","*.asc")
foreach ($ea in $extArray) {
$filelist += Get-ChildItem $ToBeZipped"\*" -Recurse -Include $ea |Select-Object fullname
}
foreach ($fn in $fileList) {
$fileName = $fn.FullName
create-7zip $filename $zipFolder\$DataFileOut
}
Затем папка резервируется отдельно на дополнительном этапе.
Позжена, я устанавливаю байт атрибута всех файлов в папке резервной копии, затем подсчитываю количество файлов в папке, соответствующих определенному шаблону, и если он больше 5, я отменяю байт атрибута, который проверяется (и удаляется) вследующий прогон
$delfiles=0
$delfiles= (dir $zipFolder\TargetBackup*.zip).count-5
if ($delfiles -gt 0)
# If there are more than 5 zipped backups, we'll turn off the archive bit on them
{dir $zipFolder\TargetBackup* | sort-object -property {$_.CreationTime} |
select-object -first $delfiles |
foreach-object { attrib $_.FULLNAME -A} }}
То, что я хотел бы сделать, это сохранить общие имена резервных копий (TxtFileBkup, FldrBkup) в массиве вместе с количеством резервных копий, которые я бы хотел, и затем использовать этот массив & nbr изрезервные копии, чтобы определить и пометить резервные копии, которые будут удалены при следующем запуске сценария.Бонусом было бы, если бы я мог использовать этот массив с или без массива расширений файлов и резервной копии папки (так что это был бы один шаг для создания обоих наборов резервных копий).