For at rekursivt hente børneelementer af en mappe i PowerShell, ekskludere specifikke mapper og deres underordnede elementer, og sikre at ekskluderingen fungerer korrekt, kan du følge disse trin:
$rootPath = "C:\DinMappe"
$excludePaths = @("C:\DinMappe\Exclude1", "C:\DinMappe\Exclude2")
$items = Get-ChildItem -Path $rootPath -Recurse
$filteredItems = $items | Where-Object {
$exclude = $false
foreach ($excludePath in $excludePaths) {
if ($_.FullName -like "$excludePath*") {
$exclude = $true
break
}
}
-not $exclude
}
$filteredItems
Her er en samlet PowerShell script, der udfører ovenstående trin:
$rootPath = "C:\DinMappe"
$excludePaths = @("C:\DinMappe\Exclude1", "C:\DinMappe\Exclude2")
$items = Get-ChildItem -Path $rootPath -Recurse
$filteredItems = $items | Where-Object {
$exclude = $false
foreach ($excludePath in $excludePaths) {
if ($_.FullName -like "$excludePath*") {
$exclude = $true
break
}
}
-not $exclude
}
$filteredItems
Dette script vil rekursivt hente alle børneelementer af den angivne rodmappe, ekskludere de specifikke mapper og deres underordnede elementer, og sikre at ekskluderingen fungerer korrekt.
Med Handyhand kan du nemt få hjælp til dine PowerShell-opgaver. Opret din opgave gratis, og modtag bud fra dygtige freelancere på få minutter. Uanset om du har brug for assistance til scripts, automatisering eller fejlfinding, er Handyhand din løsning.