In Powershell liste alle filer i en mappe er en meget nem opgave. Vi behøver kun at bruge følgende kommando for bare at liste alle filer kun i en mappe.

Indholdsfortegnelse:

  • PowerShell List files in a Directory.
  • gci alias for get-chiltitem.
  • dir alias for get-childitem.
  • PowerShell liste kun mapper.
  • PowerShell liste kun mapper ved hjælp af et kortere script.
  • PowerShell liste filer rekursivt.
  • PowerShell liste mapper rekursivt.
  • Liste over filer med en bestemt filtype.
  • PowerShell opregner filer af en bestemt filtype rekursivt.
  • Opregner filer til en dybde i underkataloger.
  • Verdict.

Folk søger også efter:

Working Snippet for Start-Job PowerShell 2020

gci -file

Overstående script er vist udføres, og output vises i billedet nedenfor.

henter alle filer i en mappe

Der er mange variationer af det, og vi besøger en hel del af dem i dette indlæg. Vi vil se, hvordan gci aliaset stammer fra, og vi vil også se nogle forskellige alias også. Der er måder at få kun mapper i mapper og også op til en vis dybde.

Vi vil besøge så mange funktioner som muligt om at liste filer i en mappe.

PowerShell List Files in a Directory:

PowerShell-udviklerne har gjort det uberettiget nemt at håndtere filer og mapper i PowerShell. I modsætning til traditionel scripting behøver vi ikke at tænke så meget over struktureringen af scriptet i PowerShell. Det skyldes, at PowerShell er objektbaseret input og output. Hvis nogen er gode til et objektorienteret programmeringssprog, kommer scripting i PowerShell helt naturligt for dem.

For at begynde med kun at få fat i filerne i en mappe kan vi bruge cmdletten get-childitem. Vi tilføjer -file-switchen til cmdletten for kun at hente filerne i en bestemt mappe.

get-childitem -file

get child item file

Dette løser tydeligvis vores problem. Men kan vi gøre scriptet mere effektivt? Det kan vi faktisk godt.

gci Alias for Get-ChildItem:

Cmdletten get-childitem har et alias kaldet gci. Det mindsker indsatsen for at skrive hele scriptet. Nedenstående script giver det output, vi har brug for.

gci -file

gci -file

dir alias for Get-ChildItem:

Get-childitem har også et ret populært alias. Det kan erstattes med dir for at få de samme resultater.

dir -file

Overstående script vil give følgende output:

dir file

PowerShell liste kun mapper:

Vi har lært at liste kun filer i en bestemt mappe. Nu vil vi se, hvordan vi kun kan liste mapper fra en mappe. Det kan vi gøre ved hjælp af -directory-switchen i stedet for -file-switchen.

gci -directory

gci -directory

PowerShell list only directories shorter script:

Vi kan forenkle scriptet ved hjælp af -di-switchen. Den er tilgængelig, da det er nok til at identificere -directory-switchen uden nogen tvetydighed. Brug følgende script til kun at liste mapperne i mappen.

gci -di

Dette vil give brugerne følgende output.

gci -di

PowerShell viser kun filer i alle mapper eller mapper:

Nu har vi set, hvordan man kun viser filer eller kun mapper, men vi har stadig ikke lært, hvordan man kun viser filer i mappen. Vi kan gøre netop dette ved hjælp af -recurse-switchen. Scriptet er givet nedenfor.

gci -file -recurse

get files recursively

Dette er helt klart et godt script til kun at få fat i filerne i mappen eller mappen.

PowerShell liste kun mapper i alle mapper eller mapper:

Vi kan kun liste filerne i mappen og også den efterfølgende undermappe ved hjælp af følgende script.

gci -di -recurse

recursive directories

PowerShell liste filer med en udvidelse:

Vi kan kun liste en bestemt type filer i en mappe, hvis vi ønsker det. Vi kan kun liste kun PDF-filer i en mappe ved hjælp af følgende script:

gci -file *.pdf

kun pdfs

PowerShell liste filer af en udvidelse rekursivt:

Vi kan tage listen over filerne til et nyt niveau ved kun at liste filer af en udvidelse rekursivt. Nedenstående eksempel demonstrerer netop dette.

gci -file -r *.pdf

file type recursivt

Bemærk, hvordan vi bruger -r-switchen i stedet for -recurse-switchen, da det mindsker den mængde indtastning, der skal foretages.

PowerShell opregner filer med en udvidelse rekursivt med dybde:

Vi kan opregne alle filer i en mappe og efterfølgende undermappe ved hjælp af kontakten -recurse. Vi kan også indsnævre søgningen ved hjælp af filudvidelsen. Men hvad nu, hvis vi ikke ønsker at søge i mapper, der er dybere end 2 undermapper. Vi kan bruge indstillingen -depth. Nedenstående script bruger det.

gci -file -d 1 -r *.pdf

med dybde

Overstående script vil get-childitem af typen filer, det vil hente op til child directories 1, Det vil gøre det rekursivt, og endelig vil det sikre, at det kun henter pdfs.

Verdict:

I dette indlæg har vi lært om PowerShell List all files in a Directory. Vi gjorde dette ved hjælp af get-childitem alias kaldet gci. gci koblet med -file-switchen gør det, som vi har brug for det. Vi hentede også filerne med en bestemt udvidelse også. Vi hentede filerne af en bestemt udvidelse rekursivt og også op til en begrænset dybde.

Hvis du vil have flere fantastiske indlæg, så bliv på TecKangaroo.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.