In Powershell listet alle Dateien in einem Verzeichnis ist eine sehr einfache Aufgabe. Wir müssen nur den folgenden Befehl verwenden, um alle Dateien nur in einem Verzeichnis aufzulisten.

Inhaltsverzeichnis:

  • PowerShell List files in a Directory.
  • gci alias for get-chiltitem.
  • dir alias for get-childitem.
  • PowerShell listet nur Verzeichnisse auf.
  • PowerShell listet nur Verzeichnisse mit einem kürzeren Skript auf.
  • PowerShell listet Dateien rekursiv auf.
  • PowerShell listet Verzeichnisse rekursiv auf.
  • Listen Sie Dateien eines bestimmten Erweiterungstyps.
  • PowerShell listet Dateien eines bestimmten Erweiterungstyps rekursiv auf.
  • Listen Sie Dateien bis zu einer Tiefe in Unterverzeichnissen auf.
  • Verdict.

Menschen suchen auch nach:

Arbeits-Snippet für Start-Job PowerShell 2020

gci -file

Das oben gezeigte Skript wird ausgeführt und die Ausgabe ist im folgenden Bild zu sehen.

Alle Dateien in einem Verzeichnis abrufen

Es gibt viele Variationen davon und wir werden in diesem Beitrag einige davon besuchen. Wir werden sehen, wie der gci-Alias zustande kommt, und wir werden auch einige andere Aliase sehen. Es gibt Möglichkeiten, nur die Verzeichnisse innerhalb von Verzeichnissen und auch bis zu einer bestimmten Tiefe zu erhalten.

Wir werden so viele Funktionen wie möglich über das Auflisten von Dateien in einem Verzeichnis besuchen.

PowerShell List Files in a Directory:

Die PowerShell-Entwickler haben es ungerechtfertigt einfach gemacht, mit Dateien und Ordnern in PowerShell umzugehen. Anders als bei der traditionellen Skripterstellung müssen wir uns in PowerShell nicht allzu viele Gedanken über die Strukturierung des Skripts machen. Das liegt daran, dass PowerShell eine objektbasierte Ein- und Ausgabe ist. Wenn jemand eine objektorientierte Programmiersprache beherrscht, ist die Skripterstellung in PowerShell für ihn eine Selbstverständlichkeit.

Um zunächst nur die Dateien in einem Verzeichnis abzurufen, können wir das Cmdlet get-childitem verwenden. Wir fügen dem Cmdlet den Schalter -file hinzu, um nur die Dateien in einem bestimmten Verzeichnis abzurufen.

get-childitem -file

get child item file

Damit ist unser Problem eindeutig gelöst. Aber können wir das Skript noch effizienter gestalten? In der Tat können wir das.

gci Alias für Get-ChildItem:

Das Cmdlet „get-childitem“ hat einen Alias namens gci. Er verringert den Aufwand, das gesamte Skript zu schreiben. Das folgende Skript erzeugt die benötigte Ausgabe.

gci -file

gci -file

dir alias for Get-ChildItem:

Das get-childitem hat auch einen ziemlich beliebten Alias. Er kann durch dir ersetzt werden, um die gleichen Ergebnisse zu erhalten.

dir -file

Das obige Skript wird die folgende Ausgabe erzeugen.

dir file

PowerShell listet nur Verzeichnisse auf:

Wir haben gelernt, wie man nur Dateien in einem bestimmten Verzeichnis auflistet. Jetzt werden wir sehen, wie man nur die Verzeichnisse eines Verzeichnisses auflisten kann. Wir können das mit Hilfe des Schalters -directory anstelle des Schalters -file tun.

gci -directory

gci -directory

PowerShell list only directories kürzeres Skript:

Wir können das Skript mit Hilfe des Schalters -di vereinfachen. Er ist verfügbar, da er ausreicht, um den Schalter -directory eindeutig zu identifizieren. Verwenden Sie das folgende Skript, um nur die Verzeichnisse im Verzeichnis aufzulisten.

gci -di

Damit erhält der Benutzer die folgende Ausgabe.

gci -di

PowerShell listet nur Dateien in allen Ordnern oder Verzeichnissen auf:

Nachdem wir nun gesehen haben, wie man nur die Dateien oder nur die Ordner auflistet, haben wir immer noch nicht gelernt, wie man nur die Dateien im Verzeichnis auflistet. Wir können dies mit Hilfe des Schalters -recurse tun. Das Skript ist unten angegeben.

gci -file -recurse

get files recursively

Dies ist ein großartiges Skript, um nur die Dateien in einem Verzeichnis oder einem Ordner zu erhalten.

PowerShell listet nur die Dateien in allen Ordnern oder Verzeichnissen auf:

Mit dem folgenden Skript können wir nur die Dateien im Verzeichnis und auch im nachfolgenden Unterverzeichnis auflisten.

gci -di -recurse

rekursive Verzeichnisse

PowerShell listet Dateien einer Erweiterung auf:

Wir können nur einen bestimmten Typ von Dateien in einem Verzeichnis auflisten, wenn wir das möchten. Mit dem folgenden Skript können wir nur PDF-Dateien in einem Verzeichnis auflisten.

gci -file *.pdf

nur die pdfs

PowerShell listet Dateien einer Erweiterung rekursiv auf:

Wir können die Auflistung der Dateien auf eine neue Ebene bringen, indem wir nur die Dateien einer Erweiterung rekursiv auflisten. Das folgende Beispiel demonstriert genau das.

gci -file -r *.pdf

Dateityp rekursiv

Beachten Sie, wie wir den Schalter -r anstelle des Schalters -recurse verwenden, da dies die Menge der erforderlichen Eingaben verringert.

PowerShell listet Dateien einer Erweiterung rekursiv mit Tiefe auf:

Wir können alle Dateien in einem Verzeichnis und den nachfolgenden Unterverzeichnissen mit dem Schalter -recurse auflisten. Wir können die Suche auch über die Dateierweiterung eingrenzen. Was aber, wenn wir nicht in Verzeichnissen suchen wollen, die tiefer als 2 Unterverzeichnisse sind? Dann können wir die Option -depth verwenden. Das folgende Skript verwendet diesen Schalter.

gci -file -d 1 -r *.pdf

mit depth

Das obige Skript wird get-childitem vom Typ files, es wird bis zu den Unterverzeichnissen 1 holen, es wird es rekursiv tun und schließlich wird es sicherstellen, dass es nur pdfs holt.

Verdict:

In diesem Beitrag haben wir gelernt, wie PowerShell alle Dateien in einem Verzeichnis auflistet. Wir haben dies mit dem get-childitem-Alias namens gci getan. Der Alias gci in Verbindung mit dem Schalter -file tut das, was wir brauchen. Wir haben auch die Dateien mit einer bestimmten Erweiterung abgerufen. Wir haben die Dateien einer bestimmten Erweiterung rekursiv und auch bis zu einer begrenzten Tiefe geholt.

Wenn du mehr tolle Beiträge willst, bleib bei TecKangaroo.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.