HOWTO · PowerShell
Verschieben von Dateien und Ordnern mit PowerShell
Erfahren Sie, wie Sie mit PowerShell Pfade prüfen, Dateien und Ordner erstellen und sie verschieben.
Auf dieser Seite
Mit dem PowerShell-Cmdlet Move-Item verschieben Sie eine Datei oder einen Ordner in den übergeordneten Ordner oder an ein anderes Ziel. Für einen zuverlässigen Ablauf prüfen Sie Pfade mit Test-Path, erstellen ein fehlendes Ziel mit New-Item und verschieben anschließend das Element. Die Schritte lassen sich auch für eine ausgewählte Gruppe von Dateien anpassen.
Prüfen, ob eine Datei oder ein Ordner mit PowerShell vorhanden ist
Test-Path gibt $true zurück, wenn unter dem angegebenen Pfad eine Datei oder ein Ordner vorhanden ist, andernfalls $false. Ersetzen Sie den Beispielpfad durch den Pfad der Datei oder des Ordners, den Sie prüfen möchten. Dieses eigenständige Beispiel erstellt zuerst eine Beispieldatei und prüft anschließend, ob sie vorhanden ist:
$sampleDir = Join-Path ([System.IO.Path]::GetTempPath()) ([guid]::NewGuid().ToString())
New-Item -ItemType Directory -Path $sampleDir | Out-Null
$sampleFile = Join-Path $sampleDir 'test.txt'
New-Item -ItemType File -Path $sampleFile | Out-Null
Test-Path -Path $sampleFile
Dateien und Ordner mit PowerShell erstellen
Verwenden Sie New-Item mit -ItemType Directory, um einen Ordner zu erstellen, oder mit -ItemType File, um eine Datei anzulegen. -Path gibt den vollständigen Pfad einschließlich des Namens des neuen Elements an. Dieses Beispiel erstellt beides in einem temporären Verzeichnis:
$sampleDir = Join-Path ([System.IO.Path]::GetTempPath()) ([guid]::NewGuid().ToString())
New-Item -ItemType Directory -Path $sampleDir | Out-Null
$folderPath = Join-Path $sampleDir 'PS'
New-Item -ItemType Directory -Path $folderPath | Out-Null
$filePath = Join-Path $folderPath 'TestFile.txt'
New-Item -ItemType File -Path $filePath | Out-Null
Test-Path -Path $filePath
Dateien und Ordner mit PowerShell verschieben
Move-Item verschiebt eine Datei oder einen Ordner vom mit -Path angegebenen Pfad an den mit -Destination angegebenen Speicherort. Als Ziel können Sie .. für den übergeordneten Ordner oder einen anderen Ordner angeben. Das Ziel muss bereits vorhanden sein: Move-Item erstellt kein fehlendes Ziel. Das folgende eigenständige Beispiel erstellt eine Datei und einen Ordner, verschiebt die Datei in den übergeordneten Ordner, erstellt bei Bedarf ein benutzerdefiniertes Ziel und verschiebt den Ordner dorthin. Es gibt die beiden Pfadprüfungen als boolesche Werte aus.
$root = Join-Path ([System.IO.Path]::GetTempPath()) ([guid]::NewGuid().ToString())
$sourceDir = Join-Path $root 'Source'
New-Item -ItemType Directory -Path $sourceDir | Out-Null
$filePath = Join-Path $sourceDir 'TestFile.txt'
New-Item -ItemType File -Path $filePath | Out-Null
$folderPath = Join-Path $sourceDir 'PSScripts'
New-Item -ItemType Directory -Path $folderPath | Out-Null
Push-Location $sourceDir
Move-Item -Path 'TestFile.txt' -Destination '..'
Pop-Location
Test-Path -Path (Join-Path $root 'TestFile.txt')
$destination = Join-Path $root 'Archive'
if (-not (Test-Path -Path $destination)) {
New-Item -ItemType Directory -Path $destination | Out-Null
}
Move-Item -Path $folderPath -Destination $destination
Test-Path -Path (Join-Path $destination 'PSScripts')