Freigeben über


MoveFileW-Funktion (winbase.h)

Verschiebt eine vorhandene Datei oder ein Verzeichnis, einschließlich der untergeordneten Elemente.

Um anzugeben, wie die Datei verschoben werden soll, verwenden Sie die MoveFileEx- oder MoveFileWithProgress-Funktion.

Verwenden Sie die MoveFileTransacted-Funktion, um diesen Vorgang als transacted-Vorgang auszuführen.

Syntax

BOOL MoveFileW(
  [in] LPCWSTR lpExistingFileName,
  [in] LPCWSTR lpNewFileName
);

Parameter

[in] lpExistingFileName

Der aktuelle Name der Datei oder des Verzeichnisses auf dem lokalen Computer.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.

Trinkgeld

Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.

[in] lpNewFileName

Der neue Name für die Datei oder das Verzeichnis. Der neue Name darf nicht bereits vorhanden sein. Eine neue Datei befindet sich möglicherweise auf einem anderen Dateisystem oder Laufwerk. Ein neues Verzeichnis muss sich auf demselben Laufwerk befinden.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.

Trinkgeld

Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Die MoveFile--Funktion verschenkt (umbenennen) entweder eine Datei oder ein Verzeichnis (einschließlich der untergeordneten Elemente) entweder im selben Verzeichnis oder in verzeichnissenübergreifend. Eine Einschränkung besteht darin, dass die MoveFile--Funktion bei Verzeichnisverschiebungen fehlschlägt, wenn sich das Ziel auf einem anderen Volume befindet.

Wenn eine Datei über Volumes verschoben wird, wird MoveFile- die Sicherheitsbeschreibung nicht mit der Datei verschoben. Die Datei wird dem Standardsicherheitsdeskriptor im Zielverzeichnis zugewiesen.

Die MoveFile--Funktion koordiniert den Vorgang mit dem Linkverfolgungsdienst, sodass Linkquellen nachverfolgt werden können, sobald sie verschoben werden.

In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Abgestützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Kommentar anzeigen
SMB 3.0 mit Skalierungsdateifreigaben (SO) Kommentar anzeigen
Freigegebenes Clustervolumedateisystem (CsvFS) Ja
Resilient File System (ReFS) Ja
 

SMB 3.0 unterstützt keine Umbenennung alternativer Datenströme auf Dateifreigaben mit fortlaufender Verfügbarkeitsfunktion.

Anmerkung

Der winbase.h-Header definiert MoveFile als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

CopyFile-

Dateiverwaltungsfunktionen

MoveFileEx-

MoveFileTransacted-

MoveFileWithProgress-