Move-FileSafe #
ÜBERSICHT #
Verschiebt eine Datei zuverlässig auch bei sehr langen Pfaden (>260 Zeichen).
SYNTAX #
Move-FileSafe [-Source] <string> [-DestinationDir] <string> [-OnlyIfTooLong] [-Force]
[<CommonParameters>]
BESCHREIBUNG #
Nutzt zuerst [System.IO.File]::Move(). Unter Windows werden lange Pfade mit Extended-Notation (\\?\) unterstützt, bei Bedarf greift ein Robocopy-Fallback.
Fehlerbehandlung erfolgt über PowerShells Standardmechanismus:
- Mit
-ErrorAction Stopwird eine Exception geworfen. - Ohne (
ContinueoderSilentlyContinue) gibt die Funktion stattdessen$falsezurück.
PARAMETER #
-Source #
Type: string
Vollständiger Quellpfad zur Datei. Relativpfade werden automatisch absolutisiert.
-DestinationDir #
Type: string
Zielordner. Wird bei Bedarf automatisch angelegt.
-OnlyIfTooLong #
Type: switch
Wenn gesetzt, werden nur Pfade umgewandelt, die zu lang für das klassische Windows-Limit sind.
-Force #
Type: switch
Überschreibt existierende Zieldateien. Ohne diesen Schalter wird beim Vorhandensein einer Datei im Ziel ein Fehler erzeugt.
AUSGABEN #
Boolean
$true bei Erfolg, $false bei Fehler (außer wenn -ErrorAction Stop gesetzt ist).
BEISPIELE #
# Standard: gibt true/false zurück
Move-FileSafe -Source 'C:\in\a.txt' -DestinationDir 'C:\out'
# Erzwingt Exception bei Fehler
Move-FileSafe -Source 'C:\in\a.txt' -DestinationDir 'C:\out' -ErrorAction Stop