Rekursiv PowerShell Mappehentning: Ekskluder Specifikke Mapper Korrekt

Hvordan kan man rekursivt hente børneelementer af en mappe i PowerShell, ekskludere specifikke mapper og deres underordnede elementer, og sikre at ekskluderingen fungerer korrekt?

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 bruge Get-ChildItem med en filtreringslogik, der tjekker hver elements sti mod en liste af ekskluderede stier.

Hvordan kan man rekursivt hente børneelementer af en mappe i PowerShell, ekskludere specifikke mapper og deres underordnede elementer, og sikre at ekskluderingen fungerer korrekt?

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:

  1. Definer roden af din søgning:
    $rootPath = "C:\DinMappe"
  2. Definer de mapper, du vil ekskludere:
    $excludePaths = @("C:\DinMappe\Exclude1", "C:\DinMappe\Exclude2")
  3. Brug Get-ChildItem til at hente alle filer og mapper rekursivt:
    $items = Get-ChildItem -Path $rootPath -Recurse
  4. Filtrer de ekskluderede mapper ud:
    
    $filteredItems = $items | Where-Object {
        $exclude = $false
        foreach ($excludePath in $excludePaths) {
            if ($_.FullName -like "$excludePath*") {
                $exclude = $true
                break
            }
        }
        -not $exclude
    }
    
  5. Output de filtrerede elementer:
    $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.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker