Verschiebt ein Element von einem Speicherort an einen anderen Speicherort.

Syntax

Move-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Move-Item [-Path] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Beschreibung

Mit dem Cmdlet "Move-Item" wird ein Element einschließlich seiner Eigenschaften, seines Inhalts und seiner untergeordneten Elemente von einem Speicherort an einen anderen Speicherort verschoben. Die Speicherorte müssen von ein und demselben Anbieter unterstützt werden. Beispielsweise kann eine Datei oder ein Unterverzeichnis von einem Verzeichnis in ein anderes oder ein Registrierungsunterschlüssel von einem Schlüssel in einen anderen verschoben werden. Beim Verschieben eines Elements wird dieses am neuen Speicherort hinzugefügt und an seinem ursprünglichen Speicherort gelöscht.

Parameter

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet "Get-Credential" generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Dieser Parameter wird nicht von mit Windows PowerShell installierten Anbietern unterstützt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Destination <string>

Gibt den Pfad zum Speicherort an, an den die Elemente verschoben werden. Der Standardwert ist das aktuelle Verzeichnis. Platzhalter sind zulässig, das Ergebnis muss jedoch ein einziger Speicherort sein.

Um das verschobene Element umzubenennen, geben Sie im Wert des Destination-Parameters einen neuen Namen an.

Erforderlich?

false

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Exclude <string[]>

Lässt die angegebenen Elemente aus. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Filter <string>

Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da sie beim Abrufen der Objekte vom Anbieter angewendet werden und die Objekte nicht erst nach dem Abrufen von Windows PowerShell gefiltert werden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Force

Ermöglicht dem Cmdlet das Verschieben eines Elements, durch das ein vorhandenes schreibgeschütztes Element überschrieben wird. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Weitere Informationen finden Sie unter "about_Providers". Auch bei Verwendung des Force-Parameters kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Include <string[]>

Verschiebt nur die angegebenen Elemente. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-LiteralPath <string[]>

Gibt den Pfad zum aktuellen Speicherort der Elemente an. Im Gegensatz zu "Path" wird der Wert von "LiteralPath" genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-PassThru

Übergibt ein Objekt, das das Element darstellt, an die Pipeline. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Path <string[]>

Gibt den Pfad zum aktuellen Speicherort der Elemente an. Der Standardwert ist das aktuelle Verzeichnis. Platzhalter sind zulässig.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Sie können eine Zeichenfolge mit einem Pfad über die Pipeline an Move-Item übergeben.

Ausgaben

Keiner oder ein Objekt, das das verschobene Element darstellt.

Wenn Sie den Passthru-Parameter verwenden, generiert Move-Item ein Objekt, das das verschobene Element darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

Mit "Move-Item" werden Dateien zwischen Laufwerken verschoben, die vom gleichen Anbieter unterstützt werden, Verzeichnisse werden jedoch nur auf demselben Laufwerk verschoben.

Da mit dem Befehl "Move-Item" die Eigenschaften, der Inhalt und die untergeordneten Elemente eines Elements verschoben werden, sind alle Verschiebevorgänge standardmäßig rekursiv.

Sie können auch über die integrierten Aliase "move", "mv" und "mi" auf Move-Item verweisen. Weitere Informationen finden Sie unter "about_Aliases".

Das Cmdlet "Move-Item" ist für die Verwendung mit Daten konzipiert, die von beliebigen Anbietern verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzuführen, geben Sie "Get-PsProvider" ein. Weitere Informationen finden Sie unter "about_Providers".

Beispiel 1

C:\PS>move-item -path C:\test.txt -destination E:\Temp\tst.txt

Beschreibung
-----------
Mit diesem Befehl wird die Datei "test.txt" von Laufwerk "C:" in das Verzeichnis "E:\Temp" verschoben und von "test.txt" in "tst.txt" umbenannt.






Beispiel 2

C:\PS>move-item -path C:\Temp -destination C:\Logs

Beschreibung
-----------
Mit diesem Befehl wird das Verzeichnis "C:\Temp" mit seinem Inhalt in das Verzeichnis "C:\Logs" verschoben. Das Verzeichnis "Temp" befindet sich dann mit allen Unterverzeichnissen und Dateien im Verzeichnis "Logs".






Beispiel 3

C:\PS>move-item -path .\*.txt -destination C:\Logs

Beschreibung
-----------
Mit diesem Befehl werden alle Textdateien ("*.txt") im aktuellen Verzeichnis (dargestellt durch einen Punkt (.)) in das Verzeichnis "C:\Logs" verschoben.






Beispiel 4

C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles

Beschreibung
-----------
Mit diesem Befehl werden alle Textdateien aus dem aktuellen Verzeichnis und rekursiv aus allen Unterverzeichnissen in das Verzeichnis "C:\TextFiles" verschoben. 

Im Befehl werden mit dem Cmdlet "Get-ChildItem" alle untergeordneten Elemente im aktuellen Verzeichnis (dargestellt durch den Punkt [.]) und dessen Unterverzeichnissen abgerufen, die die Dateinamenerweiterung "*.txt" aufweisen. Mit dem Recurse-Parameter wird ein rekursiver Abrufvorgang festgelegt, und mit dem Include-Parameter wird der Abrufvorgang auf Dateien im Format "*.txt" beschränkt.

Mit dem Pipelineoperator (|) werden die Ergebnisse dieses Befehls an Move-Item übergeben, mit dem die Textdateien in das Verzeichnis "C:\TextFiles" verschoben werden.

Wenn nach "C:\TextFiles" verschobene Dateien denselben Namen aufweisen, wird von Move-Item ein Fehler angezeigt und der Vorgang fortgesetzt, es wird jedoch nur eine Datei mit dem betreffenden Namen in das Verzeichnis "C:\TextFiles" verschoben. Die anderen Dateien verbleiben in ihren ursprünglichen Verzeichnissen.

Wenn das Verzeichnis "Textfiles" (oder ein anderes Element des Zielpfads) nicht vorhanden ist, tritt bei dem Befehl ein Fehler auf. Das fehlende Verzeichnis wird nicht erstellt, auch wenn Sie den Force-Parameter verwenden. Move-Item verschiebt das erste Element in die eine Datei mit dem Namen "Textfiles" und zeigt dann einen Fehler mit der Meldung an, dass die Datei bereits vorhanden ist. 

Zudem werden mit Get-ChildItem standardmäßig keine versteckten Dateien verschoben. Um versteckte Dateien zu verschieben, verwenden Sie Get-ChildItem mit dem Force-Parameter.






Beispiel 5

C:\PS>move-item hklm:\software\mycompany\* hklm:\software\mynewcompany

Beschreibung
-----------
Mit diesem Befehl werden die Registrierungsschlüssel und -werte im Registrierungsschlüssel "MyCompany" unter "HKLM\Software" in den Schlüssel "MyNewCompany" verschoben. Das Platzhalterzeichnen (*) gibt an, dass der Inhalt des Schlüssels "MyCompany" und nicht der Schlüssel selbst verschoben werden soll. In diesem Befehl wurden die optionalen Parameternamen "Path" und "Destination" ausgelassen.






Beispiel 6

C:\PS>move-item -literalpath 'Logs[Sept`06]' -destination 'Logs[2006]'

Beschreibung
-----------
Mit diesem Befehl wird das Verzeichnis "Logs[Sept`06]" (mit seinem Inhalt) in das Verzeichnis "Logs[2006]" verschoben. 

Der LiteralPath-Parameter wird anstelle von "Path" verwendet, weil der ursprüngliche Verzeichnisname Zeichen für linke und rechte eckige Klammern ("[" und "]") enthält. Zudem wird der Pfad in einfache Anführungszeichen (' ') eingeschlossen, damit das Graviszeichen (`) nicht falsch interpretiert wird. 

Der Destination-Parameter erfordert keinen literalen Pfad, weil die Variable "Destination" auch in einfache Anführungszeichen eingeschlossen werden muss, da sie eckige Klammern enthält, die ebenfalls falsch interpretiert werden können.






Siehe auch




Inhaltsverzeichnis