Sådan bruger du Get-ChildItem rekursivt til kun at returnere filer i PowerShell

Hvordan kan get-childitem bruges rekursivt til kun at returnere filer og ikke mapper?

For at bruge Get-ChildItem rekursivt til kun at returnere filer og ikke mapper, kan du enten bruge -Recurse parameteren sammen med Where-Object { -not $_.PSIsContainer } eller blot -File parameteren i nyere versioner af PowerShell.

Hvordan kan Get-ChildItem bruges rekursivt til kun at returnere filer og ikke mapper?

For at bruge Get-ChildItem rekursivt til kun at returnere filer og ikke mapper, kan du benytte følgende fremgangsmåde i PowerShell:

  • Brug -Recurse parameteren for at søge rekursivt gennem alle undermapper.
  • Filtrer resultaterne ved hjælp af Where-Object for kun at inkludere filer.

Her er et eksempel på, hvordan du kan gøre det:

Get-ChildItem -Recurse | Where-Object { -not $_.PSIsContainer }

Forklaring:

  • Get-ChildItem -Recurse: Søger rekursivt gennem alle mapper og undermapper.
  • Where-Object { -not $_.PSIsContainer }: Filtrerer resultaterne for kun at inkludere objekter, der ikke er mapper (dvs. filer).

Alternativt kan du bruge -File parameteren, som er tilgængelig i nyere versioner af PowerShell:

Get-ChildItem -Recurse -File

Forklaring:

  • -File: Filtrerer resultaterne til kun at inkludere filer, hvilket gør det unødvendigt at bruge Where-Object til filtrering.

Begge metoder vil effektivt returnere en liste over filer uden at inkludere mapper.