Я пытаюсь создать сценарий PowerShell, который будет рекурсивно искать в подпапках / файлах и копировать их в новое место, сохраняя при этом структуру. Я добился этого ниже, но хочу также удалить самый новый файл в каждом нижнем подкаталоге.
Структура папки:
C: \ Engine \ analytics1 \ pa.kr
C: \ Engine \ analytics1 \ pa419.kdb
C: \ Engines \ analytics1 \ pa420.kdb
C: \ Engines \ analytics1 \ pa421.kdb ( самый новый файл)
C: \ engines \ analytics2 \ pb.kr
C: \ engines \ analytics2 \ pb240.kdb
C: \otors \ analytics2 \ pb241.kdb (самый новый файл)
Мне нужно исключить pa421.kdb
& pb241.kdb
файлы и рекурсивно скопировать все остальное. Я пробовал много способов с вложенным Get-ChildItem
методом и убывающим временем создания с -Skip 1
логикой, но не смог заставить его работать.
if ($env:COMPUTERNAME.Contains("Test")) {
$root_path = "C:"
$backup_folder = "Appian\Backup"
}
$date = Get-Date -Format d.MMMM.yyyy.HH.mm.ss
New-PSDrive -Name "Backup" -PSProvider Filesystem -Root
$root_path\$backup_folder
$source1 = $root_path + "\engines"
$destination = "backup:\$date"
$path = Test-Path $destination
if ($path -eq $true) {
#write-Host "Directory Already exists"
Remove-PSDrive "Backup"# -Force
} elseif ($path -eq $false) {
cd backup:\
mkdir $date
Get-ChildItem $source1 -Recurse | ForEach-Object {
Copy-Item -Path $_.FullName -Destination $_.FullName.Replace($source1, $destination + "\engines") -Force
}
#$backup_log = Dir -Recurse $destination | Out-File "$destination\backup_log.txt"
}
C:\engines
)? Или иерархия глубже? - person Ansgar Wiechers   schedule 15.08.2017C:\engines
? - person Ansgar Wiechers   schedule 15.08.2017