Verschieben von Dateien und Ordnern mit PowerShell

  1. Überprüfen Sie mit PowerShell, ob eine Datei oder ein Ordner vorhanden ist
  2. Dateien und Ordner mit PowerShell erstellen
  3. Verschieben von Dateien und Ordnern mit PowerShell
Verschieben von Dateien und Ordnern mit PowerShell

Das Verschieben von Dateien und Ordnern ist ein grundlegender Vorgang bei der Verwendung des Windows-Betriebssystems oder vielleicht eines anderen Betriebssystems. Wir können Dateien oder Ordner einzeln oder in großen Mengen übertragen, indem wir sie einfach per Drag & Drop auf unseren Bildschirm ziehen, aber wir müssen möglicherweise Skripte in Betracht ziehen, wenn wir nur viele bestimmte Dateien (wie Dateien mit bestimmten Dateiformaten) verschieben müssen.

In diesem Artikel werden mehrere wichtige Cmdlets beim Verschieben von Dateien und Verzeichnissen mithilfe von PowerShell-Skripts für die Massenwiederherstellung erläutert.

Überprüfen Sie mit PowerShell, ob eine Datei oder ein Ordner vorhanden ist

Der Befehl Test-Path ist ein natives PowerShell-integriertes Cmdlet, das True oder False zurückgibt, je nachdem, ob eine Datei oder ein Verzeichnispfad vorhanden ist. Wir können den PowerShell-Befehl Test-Path verwenden, wenn wir abfragen müssen, ob eine einzelne Datei existiert.

Erstellen Sie zur Demonstration eine Datei (test.txt) in Ihrem aktuellen Arbeitsverzeichnis oder wählen Sie eine andere vorhandene Datei aus. Nachdem wir unsere Testdatei ausgewählt haben, führen Sie den folgenden Befehl aus und ersetzen den Pfad (C:\Temp\PS) und den Dateinamen (test.txt).

Der Befehl Test-Path gibt bei Ausführung einen booleschen Wert zurück.

Befehl:

Test-Path C:\Temp\PS\test.txt

Im obigen Beispiel gibt der Befehl einen True-Wert zurück, wenn die Datei (test.txt) existiert. Andernfalls wird auf der Konsole ein False-Wert angezeigt.

Dateien und Ordner mit PowerShell erstellen

Der Windows PowerShell-Befehl New-Item erstellt sowohl Dateien als auch Verzeichnisse. Nachfolgend finden Sie zwei Beispiele für die Verwendung des Windows PowerShell-Cmdlets New-Item zum Erstellen einer Datei und eines Ordners.

Befehl:

# Create a Folder
New-Item -ItemType 'Directory' -Name 'C:\Temp\PS'

# Create a File
New-Item -ItemType 'File' -Name 'Test.txt' -Path '.\PS'

Verschieben von Dateien und Ordnern mit PowerShell

Der PowerShell-Befehl zum Verschieben von Dateien, das Cmdlet Move-Item, dient zum Verschieben einzelner Dateien oder Verzeichnisse und bietet Filterfunktionen, um Inhalte schnell von einem Ort zum nächsten zu übertragen.

Im folgenden Beispiel verschieben wir die zuvor erstellte Datei TestFile.txt in das übergeordnete Verzeichnis. Verwenden Sie die Syntax .., um das übergeordnete Verzeichnis vom aktuellen Speicherort anzugeben, und verwenden Sie den Windows PowerShell-Befehl Move-Item, um die Datei zu verschieben.

Befehl:

Move-Item -Path '.\TestFile.txt' -Destination '..'

Wir können nicht nur Dateien verschieben, sondern auch Ordner mit dem Befehl Move-Item verschieben.

Zuerst müssen wir den Wert des Parameters -Path für den Ordner angeben, den wir verschieben müssen. Beachten Sie, dass wir die Dateierweiterung aus dem Parameter -Path entfernt haben.

Befehl:

Move-Item -Path '.\PSScripts` -Destination '..'

Vielleicht möchten wir unsere Dateien und Ordner in einen Ordner übertragen, der nicht direkt unserem Arbeitsverzeichnis übergeordnet ist. Dann können wir den Parameter -Destination mit einem benutzerdefinierten Verzeichnis versehen.

Befehl:

Move-Item -Path '.\PSScripts` -Destination 'C:\Temp'

Wenn der im Parameter -Destination angegebene Zielordner nicht existiert, wirft das Skript einen Fehler. Der Vorbehalt bei der Verwendung des Cmdlets Move-Item besteht darin, dass es kein neues Verzeichnis erstellt, wenn das Zielverzeichnis nicht existiert.

Wir können unsere zuvor erwähnten Befehle Test-Path und New-Item verwenden, um dies zu beheben. Im folgenden Skriptblock prüfen wir zuerst den Zielpfad, um festzustellen, ob er existiert.

Wenn der Ordner nicht vorhanden ist, erstellt das Skript ihn zuerst. Nach der Erstellung wird nun die Datei- oder Ordnerübertragung initiiert.

Code:

$current_folder = "C:\Temp\PS"
$new_folder = "C:\PS\PSScripts"

if (Test-Path -path $new_folder) {
    Move-Item -Path $current_folder -Destination $new_folder
}else{
    New-Item -ItemType 'Directory' -Name $new_folder
    Move-Item -Path $current_folder -Destination $new_folder
}
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell File