Move File Safe
Zuletzt geändert: 14.03.2026 05:56

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 Stop wird eine Exception geworfen.
  • Ohne (Continue oder SilentlyContinue) gibt die Funktion stattdessen $false zurü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