FileSystem - PowerShell Befehl Hilfe und Beispiele

Bietet Zugriff auf Dateien und Verzeichnisse. (FileSystem)


ANBIETERNAME 
    FileSystem 

LAUFWERKE 
    C, D 

ÜBERSICHT
Bietet Zugriff auf Dateien und Verzeichnisse.
BESCHREIBUNG
Mit dem Windows PowerShell-FileSystem-Anbieter können Sie Dateien und Verzeichnisse in Windows PowerShell abrufen, hinzufügen, ändern, entfernen und löschen. Der FileSystem-Anbieter macht Windows PowerShell-Laufwerke verfügbar, die den auf dem Computer konfigurierten logischen Laufwerken entsprechen, einschließlich der Laufwerke, die Netzwerkfreigaben zugeordnet sind. Ein Computer mit einem Diskettenlaufwerk, einem Festplattenlaufwerk und einem zugeordneten freigegebenen Verzeichnis im Netzwerk enthält beispielsweise die Laufwerke "A", "C" und "Z". Der FileSystem-Anbieter macht Windows PowerShell-Laufwerke verfügbar, die "A", "C" und "Z" direkt entsprechen, wodurch Sie aus Windows PowerShell auf diese Laufwerke verweisen können. Geben Sie zum Verweisen auf Laufwerk "C" wie im folgenden Beispiel "C:" an: get-childitem c: Mit dem Befehl wird der gesamte Inhalt des Laufwerks "C" zurückgegeben, einschließlich der Dateien und Verzeichnisse. Wenn Sie über den FileSystem-Anbieter auf ein bestimmtes Verzeichnis oder eine bestimmte Datei verweisen, müssen Sie die erforderlichen Informationen zum Identifizieren des Verzeichnisses bzw. der Datei angeben. Dies bedeutet, dass in einigen Fällen ein vollqualifizierter Name bereitgestellt werden muss. Ein vollqualifizierter Name enthält den Laufwerknamen (zusammen mit einem Doppelpunkt), alle Verzeichnis- und Unterverzeichnisnamen sowie ggf. den Dateinamen. Im folgenden Beispiel wird beispielsweise der vollqualifizierte Name für die Datei "Shell.dll" dargestellt, die im Unterverzeichnis "System32" des Windows-Verzeichnisses auf Laufwerk C gespeichert ist: c:\windows\system32\shell.dll Die Trennung der einzelnen Elemente des vollqualifizierten Namens erfolgt durch einen umgekehrten Schrägstrich (\). Windows PowerShell lässt jedoch auch die Verwendung eines normalen Schrägstrichs (/) zu, um die Konsistenz mit einer Vielzahl anderer Shells zu gewährleisten. In einigen Fällen muss beim Verweisen auf eine Datei oder ein Verzeichnis kein vollqualifizierter Name angegeben werden. Wenn Sie beispielsweise auf eine Datei am aktuellen Arbeitsspeicherort zugreifen möchten, müssen Sie nur den Dateinamen bereitstellen. Wenn der aktuelle Arbeitsspeicherort "C:\Windows" lautet, können Sie mit dem folgenden Befehl eine Liste aller DLL-Dateien in diesem Verzeichnis anzeigen: get-childitem *.dll Wenn Sie in einem anderen Arbeitsverzeichnis als "c:\windows" arbeiten, z. B. "c:\Programme\Windows PowerShell", muss der Befehl u. U. den vollqualifizierten Namen enthalten: get-childitem c:\windows\*.dll In einigen Fällen sind auch relative Verweise auf einen Speicherort möglich. Wenn der Arbeitsspeicherort "c:\windows" ist und eine Liste der DLL-Dateien im Verzeichnis "c:\windows\system32" angezeigt werden soll, können Sie den folgenden Befehl angeben: get-childitem .\system32\*.dll Der Punkt vor "\system32" stellt den aktuellen Arbeitsspeicherort dar. In einigen Situationen kann sich der aktuelle Arbeitsspeicherort auf einem anderen Laufwerk als einem FileSystem-Laufwerk befinden. Wenn dies der Fall ist, müssen Sie im Verweis immer den Namen des Ziellaufwerks angeben. Angenommen der aktuelle Arbeitsspeicherort ist das Laufwerk "env:". Wenn der Inhalt des Laufwerks "C" angezeigt werden soll, geben Sie den folgenden Befehl an: get-childitem c: FUNKTIONEN AUFGABEN AUFGABE: Navigieren im Dateisystem

Beispiele

BEISPIEL 1
Mit diesem Befehl wird der aktuelle Speicherort abgerufen: get-location Das Cmdlet "Get-Location" umfasst die Funktionen von Befehlen wie "cd" in der Windows-Eingabeaufforderung und "pwd" in UNIX. Weitere Informationen erhalten Sie mit folgendem Befehl: get-help get-location
BEISPIEL 2
Mit diesem Befehl wird der aktuelle Speicherort festgelegt: set-location C: AUFGABE: Abrufen von Informationen über Dateien und Verzeichnisse
BEISPIEL 1
Mit diesem Befehl werden alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis abgerufen: get-childitem Mit dem Cmdlet "Get-ChildItem" werden standardmäßig keine rekursiven Vorgänge ausgeführt. Wenn beim Ausführen dieses Befehls Dateien und Ordner im aktuellen Verzeichnis vorhanden sind, werden ein System.IO.FileInfo-Objekt und ein System.IO.DirectoryInfo-Objekt zurückgegeben.
BEISPIEL 2
Mit Get-ChildItem werden alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis abgerufen: get-childitem | where-object {!$_.psiscontainer} Er übergibt die Ergebnisse über die Pipeline an Where-Object, wodurch die PSIsContainer-Eigenschaft untersucht und nur die Übertragung von Objekten über die Pipeline zugelassen wird, die keine (!) Container sind.
BEISPIEL 3
Mit Get-ChildItem werden alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis abgerufen. Er übergibt die Ergebnisse über die Pipeline an Where-Object, wodurch die PSIsContainer-Eigenschaft untersucht und nur die Übertragung von Objekten über die Pipeline zugelassen wird, die Container darstellen. get-childitem | where-object {$_.psiscontainer}
BEISPIEL 4
Mit Get-ChildItem werden alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis abgerufen: get-item -path a | format-list * Er übergibt die Ergebnisse über die Pipeline an das Cmdlet "Where-Object", wodurch die PSIsContainer-Eigenschaft untersucht und nur die Übertragung von Objekten über die Pipeline zugelassen wird, die Container darstellen.
BEISPIEL 5
Dieser Befehl verwendet das Cmdlet "Get-Item", um Informationen über die Datei "Test.txt" abzurufen: get-item -path test.txt | format-list * Mit dem Cmdlet "Format-List" werden alle Eigenschaften des erhaltenen Objekts angezeigt. AUFGABE: Kopieren von Dateien und Verzeichnissen
BEISPIEL 1
Dieser Befehl kopiert die Datei "A.txt" aus dem Verzeichnis "C:\A" in das Verzeichnis "C:\A\Bb". copy-item -path C:\a\a.txt -destination C:\a\bb\a.txt Dabei werden die Dateien im Zielverzeichnis überschrieben, ohne dass zur Bestätigung des Vorgangs aufgefordert wird.
BEISPIEL 2
Dieser Befehl kopiert alle Dateien im Verzeichnis "C:\A\Bb", die über die Dateinamenerweiterung ".txt" verfügen, in das Verzeichnis "C:\A\Cc\Ccc\": copy-item -path C:\a\bb\*.txt -destination C:\a\cc\ccc\ Dabei werden die ursprünglichen Namen der Dateien beibehalten. Durch den Befehl werden die vorhandenen Dateien im Zielverzeichnis überschrieben, ohne dass zur Bestätigung des Vorgangs aufgefordert wird.
BEISPIEL 3
Kopiert alle Verzeichnisse und Dateien im Verzeichnis "C:\a" in das Verzeichnis "C:\c". Wenn eines der zu kopierenden Verzeichnisse bereits im Zielverzeichnis vorhanden ist, tritt beim Ausführen des Befehls ein Fehler auf, es sei denn, der Force-Parameter ist angegeben. copy-item -path C:\a\* -destination C:\c -recurse AUFGABE: Verschieben von Dateien und Verzeichnissen
BEISPIEL 1
Dieser Befehl verschiebt die Datei "C.txt" im Verzeichnis "C:\A" in das Verzeichnis "C:\A\Aa". move-item -path C:\a\c.txt -destination C:\a\aa Vorhandene Dateien mit identischem Namen werden vom Befehl nicht automatisch überschrieben. Um das Überschreiben einer vorhandenen Datei durch das Cmdlet zu erzwingen, geben Sie den Force-Parameter an.
BEISPIEL 2
Mit diesem Befehl wird das Verzeichnis "C:\A" mit seinem gesamten Inhalt in das Verzeichnis "C:\B" verschoben: move-item -path C:\a -destination C:\b Ein Verzeichnis kann nicht verschoben werden, wenn es sich dabei um den aktuellen Speicherort handelt. AUFGABE: Verwalten von Dateiinhalten
BEISPIEL 1
Mit diesem Befehl wird die Zeichenfolge "test content" an die Datei "Test.txt" angefügt: add-content -path test.txt -value "test content" Der in der Datei "Test.txt" vorhandene Inhalt wird nicht gelöscht.
BEISPIEL 2
Mit diesem Befehl wird der Inhalt der Datei "Test.txt" abgerufen und in der Konsole angezeigt: get-content -path test.txt Sie können den Inhalt der Datei über die Pipeline an ein anderes Cmdlet übergeben. Mit dem folgenden Befehl wird beispielsweise der Inhalt der Datei "Test.txt" gelesen und als Eingabe an das Cmdlet "ConvertTo-HTML" übergeben: get-content -path test.txt | convertto-html
BEISPIEL 3
Mit diesem Befehl wird der Inhalt der Datei "Test.txt" durch die Zeichenfolge "test content" ersetzt: set-content -path test.txt -value "test content" Dieser Befehl überschreibt den Inhalt der Datei "Test.txt". Mit dem Value-Parameter des Cmdlets "New-Item" können Sie einer Datei beim Erstellen Inhalt hinzufügen. AUFGABE: Verwalten von Sicherheitsbeschreibungen
BEISPIEL 1
Dieser Befehl gibt ein System.Security.AccessControl.FileSecurity-Objekt zurück: get-acl -path test.txt | format-list -property * Um weitere Informationen zu diesem Objekt zu erhalten, übergeben Sie den Befehl über die Pipeline an das Cmdlet "Get-Member". Oder lesen Sie die Informationen zur "FileSecurity-Klasse" in der MSDN Library (Microsoft Developer Network) unter "http://go.microsoft.com/fwlink/?LinkId=145718" (möglicherweise auf Englisch).
BEISPIEL 2
Dieser Befehl gibt ein System.Security.AccessControl.DirectorySecurity-Objekt zurück: get-acl -path test_directory | format-list -property * Um weitere Informationen zu diesem Objekt zu erhalten, übergeben Sie den Befehl über die Pipeline an das Cmdlet "Get-Member". Oder lesen Sie die Informationen zur "DirectorySecurity-Klasse" in der MSDN Library unter "http://go.microsoft.com/fwlink/?LinkId=145736" (möglicherweise auf Englisch). AUFGABE: Erstellen von Dateien und Verzeichnissen
BEISPIEL 1
Mit diesem Befehl wird das Verzeichnis "Logfiles" auf Laufwerk "C" erstellt: new-item -path c:\ -name logfiles -type directory
BEISPIEL 2
Mit diesem Befehl wird die Datei "Log2.txt" im Verzeichnis "C:\Logfiles" erstellt und die Zeichenfolge "test log" an die Datei angefügt: new-item -path c:\logfiles -name log.txt -type file
BEISPIEL 3
Erstellt eine Datei mit dem Namen "Log2.txt" im Verzeichnis "C:\logfiles" und fügt die Zeichenfolge "test log" an die Datei an. new-item -path c:\logfiles -name log2.txt -type file -value "test log" AUFGABE: Umbenennen von Dateien und Verzeichnissen
BEISPIEL 1
Mit diesem Befehl wird die Datei "A.txt" im Verzeichnis "C:\A" in "B.txt" umbenannt: rename-item -path c:\a\a.txt -newname b.txt
BEISPIEL 2
Mit diesem Befehl wird das Verzeichnis "C:\A\Cc" in "C:\A\Dd" umbenannt: rename-item -path c:\a\cc -newname dd AUFGABE: Löschen von Dateien und Verzeichnissen
BEISPIEL 1
Mit diesem Befehl wird die Datei "Test.txt" im aktuellen Verzeichnis gelöscht: remove-item -path test.txt
BEISPIEL 2
Mit diesem Befehl werden alle Dateien im aktuellen Verzeichnis gelöscht, die die Dateinamenerweiterung ".xml" aufweisen: remove-item -path *.xml AUFGABE: Starten eines Programms durch Aufrufen einer zugeordneten Datei
BEISPIEL 1
Im ersten Befehl werden mit dem Cmdlet "Get-Service" Informationen über lokale Dienste abgerufen. Er übergibt die Informationen über die Pipeline an das Cmdlet "Export-Csv" und speichert diese Informationen dann in der Datei "Services.csv". Der zweite Befehl verwendet Invoke-Item, um die Datei "Services.csv" in dem Programm zu öffnen, das Dateien mit der Erweiterung ".csv" zugeordnet ist: get-service | export-csv -path services.csv invoke-item -path services.csv DYNAMISCHE PARAMETER -Encoding <Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding> Unknown Der Codierungstyp ist unbekannt oder ungültig. Die Daten können als Binärdaten behandelt werden. String Der Codierungstyp für eine Zeichenfolge wird verwendet. Unicode Codiert im Format UTF-16 mit der Little-Endian-Bytereihenfolge. Byte Codiert eine Folge von Zeichen in eine Folge von Bytes. BigEndianUnicode Codiert im Format UTF-16 mit der Big-Endian-Bytereihenfolge. UTF8 Codiert im Format UTF-8. UTF7 Codiert im Format UTF-7. ASCII Verwendet die Codierung für den ASCII-Zeichensatz (7-Bit). Unterstützte Cmdlets: Add-Content, Get-Content, Set-Content -Delimiter <System.String> Gibt das beim Lesen der Datei zu verwendende Trennzeichen an. Der Standardwert ist "\n" (Zeilenende). Unterstützte Cmdlets: Get-Content -Wait <System.Management.Automation.SwitchParameter> Wartet auf das Anfügen von Inhalt an die Datei. Wenn Inhalt an die Datei angefügt wird, wird der angefügte Inhalt zurückgegeben. Wenn der Inhalt geändert wurde, wird die gesamte Datei zurückgegeben. Während des Wartens überprüft Get-Content die Datei einmal pro Sekunde, bis Sie den Vorgang unterbrechen, z. B. durch Drücken von STRG+C. Unterstützte Cmdlets: Get-Content
HINWEISE
VERWANDTE LINKS about_Providers C:\Windows>powershell get-help Function -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Bietet Zugriff auf Dateien und Verzeichnisse.

HTTP: ... PS_Windows/de/FileSystem.htm
0.062
13360

Die Wichtigsten Office Tastenkombinationen in MS Word!

Kann ich Benutzer-Konten über PowerShell auflisten?

Druckbereich festlegen in der MS Excel Tabelle vor dem Drucken!

Wie kann ich den File Unlocker deinstallieren (ThisIsMyFile)?

Wie kann ich meine IP-Adressen von meinem VDSL / TDSL / DSL Router herausfinden?

Hide drives, Hard and SSD partitions on Windows 10/11!



(0)