I Powershell är det mycket enkelt att lista alla filer i en katalog. Vi behöver bara använda följande kommando för att bara lista alla filer bara i en katalog.

Innehållsförteckning:

  • PowerShell List files in a Directory.
  • gci alias för get-chiltitem.
  • dir alias för get-childitem.
  • PowerShell listar endast kataloger.
  • PowerShell listar endast kataloger med hjälp av ett kortare skript.
  • PowerShell listar filer rekursivt.
  • PowerShell listar kataloger rekursivt.
  • Listar filer av en viss utvidgningstyp.
  • PowerShell listar filer av en viss tilläggstyp rekursivt.
  • Listar filer till ett visst djup i underkataloger.
  • Verdict.

Människor söker också efter:

Arbetsutdrag för Start-Job PowerShell 2020

gci -file

Ovanstående skript visas exekveras och utdata visas i bilden nedan.

hämta alla filer i en katalog

Det finns många varianter och vi besöker ganska många av dem i det här inlägget. Vi kommer att se hur gci-aliaset har sitt ursprung och vi kommer också att se några olika alias också. Det finns sätt att bara få fram kataloger inom kataloger och även upp till ett visst djup.

Vi kommer att besöka så många funktioner som möjligt om att lista filer i en katalog.

PowerShell List Files in a Directory:

PowerShell-utvecklarna har gjort det omotiverat enkelt att hantera filer och mappar i PowerShell. Till skillnad från traditionell scripting behöver vi inte tänka så mycket på att strukturera scriptet i PowerShell. Det beror på att PowerShell är objektbaserad input och output. Om någon är duktig på ett objektorienterat programmeringsspråk kommer skript i PowerShell naturligt för dem.

För att börja med att hämta endast filerna i en katalog kan vi använda cmdlet get-childitem. Vi lägger till växeln -file till cmdlet för att hämta endast filerna i en specifik katalog.

get-childitem -file

get child item file

Det är tydligt att detta löser vårt problem. Men kan vi göra skriptet effektivare? Det kan vi faktiskt.

gci Alias för Get-ChildItem:

Cmdletten get-childitem har ett alias som heter gci. Det minskar ansträngningen att skriva hela skriptet. Nedanstående skript ger det utdata vi behöver.

gci -file

gci -file

dir alias för Get-ChildItem:

Get-childitem har också ett ganska populärt alias. Det kan ersättas med dir för att få samma resultat.

dir -file

Skriptet ovan kommer att ge följande utdata:

dir file

PowerShell listar endast kataloger:

Vi har lärt oss hur man listar endast filer i en viss katalog. Nu ska vi se hur man listar endast kataloger från en katalog. Det kan vi göra med hjälp av växeln -directory istället för -file.

gci -directory

gci -directory

PowerShell list only directories shorter script:

Vi kan förenkla scriptet med hjälp av växeln -di. Den är tillgänglig eftersom det räcker med att identifiera växeln -directory utan någon tvetydighet. Använd följande skript för att lista endast katalogerna i katalogen.

gci -di

Detta ger användarna följande utdata.

gci -di

PowerShell listar endast filer i alla mappar eller kataloger:

När vi nu har sett hur man listar endast filer eller endast mappar har vi fortfarande inte lärt oss hur man listar endast filer i en katalog. Vi kan göra just detta med hjälp av växeln -recurse. Skriptet ges nedan.

gci -file -recurse

get files recursively

Det här är helt klart ett bra skript för att få fram endast filerna i katalogen eller mappen.

PowerShell listar endast mappar i alla mappar eller kataloger:

Vi kan lista endast filerna i katalogen och även den efterföljande barnkatalogen med hjälp av följande skript.

gci -di -recurse

recursive directories

PowerShell listar filer med ett tillägg:

Vi kan lista endast en viss typ av filer i en katalog om vi vill. Vi kan lista endast PDF-filer i en katalog med hjälp av följande skript:

gci -file *.pdf

något annat än pdfs

PowerShell listar filer av en filändelse rekursivt:

Vi kan ta upp listningen av filerna till en ny nivå genom att lista endast filer av en filändelse rekursivt. Nedanstående exempel visar just detta.

gci -file -r *.pdf

filtyp rekursivt

Bemärk hur vi använder -r-switchen istället för -recurse-switchen eftersom det minskar mängden inmatning som behöver göras.

PowerShell listar filer med ett tillägg rekursivt med djup:

Vi kan lista alla filer i en katalog och efterföljande underkataloger med hjälp av växeln -recurse. Vi kan också begränsa sökningen med hjälp av filtillägget. Men vad händer om vi inte vill söka i mappar som är djupare än 2 underkataloger. Vi kan använda växeln -depth. Nedanstående skript använder det.

gci -file -d 1 -r *.pdf

med djup

Ovanstående skript kommer att get-childitem av typen filer, det kommer att hämta upp till barnkataloger 1, det kommer att göra det rekursivt och till sist kommer det att se till att det endast hämtar pdfs.

Verdict:

I det här inlägget lärde vi oss om PowerShell List all files in a Directory. Vi gjorde detta med hjälp av get-childitem-aliaset som heter gci. gci kopplat till växeln -file gör det vi vill att det ska göra. Vi hämtade också filerna med ett visst tillägg också. Vi hämtade filerna med ett visst tillägg rekursivt och även upp till ett begränsat djup.

Om du vill ha fler häftiga inlägg, håll dig uppdaterad på TecKangaroo.

Lämna ett svar

Din e-postadress kommer inte publiceras.