In Powershell lijst alle bestanden in een map is een zeer eenvoudige taak. We hoeven alleen maar het volgende commando te gebruiken om alle bestanden in een directory op te sommen.

Inhoudsopgave:

  • PowerShell List files in a Directory.
  • gci alias voor get-chiltitem.
  • dir alias voor get-childitem.
  • PowerShell lijst alleen mappen.
  • PowerShell lijst alleen mappen met behulp van een kortere script.
  • PowerShell lijst bestanden recursief.
  • PowerShell lijst mappen recursief.
  • Lijst bestanden van een bepaalde extensie type.
  • PowerShell lijst bestanden van een bepaald extensie type recursief.
  • Lijst bestanden tot een diepte in subdirectories.
  • Verdict.

Mensen zoeken ook naar:

Working Snippet for Start-Job PowerShell 2020

gci -file

Het bovenstaande script wordt uitgevoerd en de uitvoer is te zien in de onderstaande afbeelding.

haal alle bestanden in een directory

Er zijn veel variaties op en we bezoeken er een flink aantal in deze post. We zullen zien hoe de gci alias ontstaat en we zullen ook enkele andere alias zien. Er zijn manieren om alleen de mappen binnen mappen en ook tot bepaalde diepte te krijgen.

We zullen zoveel mogelijk functies bezoeken over het opsommen van bestanden in een directory.

PowerShell List Files in a Directory:

De ontwikkelaars van PowerShell hebben het ongerechtvaardigd gemakkelijk gemaakt om met bestanden en mappen in PowerShell om te gaan. In tegenstelling tot traditionele scripting, hoeven we in PowerShell niet te veel na te denken over het structureren van het script. Dat komt omdat PowerShell objectgeoriënteerde invoer en uitvoer is. Als iemand goed is in een object-georiënteerde programmeertaal, komt scripting in PowerShell vanzelf.

Om te beginnen, alleen de bestanden in een directory ophalen, kunnen we het get-childitem cmdlet gebruiken. We voegen de switch -file toe aan het cmdlet om alleen de bestanden in een specifieke directory op te halen.

get-childitem -file

get child item file

Hiermee is ons probleem duidelijk opgelost. Maar kunnen we het script efficiënter maken? Dat kunnen we.

gci Alias voor Get-ChildItem:

Het cmdlet get-childitem heeft een alias genaamd gci. Het vermindert de moeite om het hele script te schrijven. Het onderstaande script zal de uitvoer produceren die we nodig hebben.

gci -file

gci -file

dir alias voor Get-ChildItem:

Het get-childitem heeft ook een nogal populaire alias. Het kan worden vervangen door dir om dezelfde resultaten te krijgen.

dir -file

Het bovenstaande script zal de volgende uitvoer produceren.

dir file

PowerShell list only directories:

We hebben geleerd hoe we alleen bestanden in een specifieke directory kunnen opsommen. Nu zullen we zien hoe we alleen de directories van een directory kunnen opnoemen. We kunnen dat doen met behulp van -directory switch in plaats van de -file switch.

gci -directory

gci -directory

PowerShell list only directories korter script:

We kunnen het script vereenvoudigen met behulp van -di switch. Het is beschikbaar omdat het voldoende is om de -directory switch te identificeren zonder enige dubbelzinnigheid. Gebruik het volgende script om alleen de directories in de directory op te sommen.

gci -di

Dit zal gebruikers de volgende uitvoer geven.

gci -di

PowerShell lijst alleen bestanden in alle mappen of directories:

Nu we hebben gezien hoe we alleen de bestanden of alleen de mappen in een lijst kunnen zetten, hebben we nog niet geleerd hoe we alleen de bestanden in de directory in een lijst kunnen zetten. We kunnen dit doen met behulp van -recurse switch. Het script is hieronder gegeven.

gci -file -recurse

haal recursief bestanden

Het is duidelijk dat dit een geweldig script is om alleen de bestanden in de directory of de map te krijgen.

PowerShell lijst alleen mappen in alle mappen of directories:

We kunnen een lijst maken van alleen de bestanden in de directory en ook de daaropvolgende child directory met behulp van het volgende script.

gci -di -recurse

recursieve mappen

PowerShell geeft een lijst van bestanden met een extensie:

We kunnen desgewenst alleen een bepaald type bestanden in een directory opsommen. We kunnen alleen PDF-bestanden in een directory weergeven met het volgende script.

gci -file *.pdf

alleen de pdf’s

PowerShell lijst bestanden van een extensie recursief:

We kunnen de lijst met bestanden naar een nieuw niveau tillen door alleen de bestanden van een extensie recursief in een lijst op te nemen. Het onderstaande voorbeeld laat dat zien.

gci -file -r *.pdf

bestandstype recursief

Zie hoe we de schakelaar -r gebruiken in plaats van de schakelaar -recurse, omdat dit de hoeveelheid typewerk vermindert die gedaan moet worden.

PowerShell geeft een recursieve lijst van bestanden met een extensie met diepte:

We kunnen een lijst maken van alle bestanden in een directory en de daaropvolgende subdirectory met behulp van de schakelaar -recurse. We kunnen de zoekopdracht ook beperken door de bestandsextensie te gebruiken. Maar wat als we niet willen zoeken in mappen die dieper zijn dan 2 subdirectories. Dan kunnen we de -depth optie gebruiken. Het onderstaande script maakt daar gebruik van.

gci -file -d 1 -r *.pdf

with depth

Het bovenstaande script zal get-childitem van het type bestanden, het zal tot kindmappen 1 ophalen, het zal dit recursief doen en tenslotte zal het ervoor zorgen dat het alleen pdf’s zal ophalen.

Verdict:

In dit bericht, hebben we geleerd over PowerShell Lijst alle bestanden in een map. We deden dit met behulp van de get-childitem alias genaamd gci. De gci gekoppeld aan de -file switch doet wat we nodig hebben om het te doen. We hebben ook de bestanden van een bepaalde extensie opgehaald. We hebben de bestanden van een bepaalde extensie recursief opgehaald en ook tot een beperkte diepte.

Als je meer geweldige berichten wilt, blijf dan op de hoogte van TecKangaroo.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.