Функция MoveFileW (winbase.h)
Перемещает существующий файл или каталог, включая его дочерние элементы.
Чтобы указать, как переместить файл, используйте функцию moveFileEx или MoveFileWithProgress.
Чтобы выполнить эту операцию как транзакцию, используйте функцию MoveFileTransacted.
Синтаксис
BOOL MoveFileW(
[in] LPCWSTR lpExistingFileName,
[in] LPCWSTR lpNewFileName
);
Параметры
[in] lpExistingFileName
Текущее имя файла или каталога на локальном компьютере.
По умолчанию имя ограничено MAX_PATH символами. Чтобы расширить это ограничение до 32 767 расширенных символов, добавьте "\\?\" в путь. Дополнительные сведения см. в именовании файлов, путей и пространств имен.
Кончик
Начиная с Windows 10 версии 1607, вы можете отказаться от ограничения MAX_PATH без предустановки "\\?\". Дополнительные сведения см. в разделе "Ограничение максимальной длины пути" файлы именования, пути и пространства имен.
[in] lpNewFileName
Новое имя файла или каталога. Новое имя еще не должно существовать. Новый файл может находиться в другой файловой системе или диске. Новый каталог должен находиться на одном диске.
По умолчанию имя ограничено MAX_PATH символами. Чтобы расширить это ограничение до 32 767 расширенных символов, добавьте "\\?\" в путь. Дополнительные сведения см. в именовании файлов, путей и пространств имен.
Кончик
Начиная с Windows 10 версии 1607, вы можете отказаться от ограничения MAX_PATH без предустановки "\\?\". Дополнительные сведения см. в разделе "Ограничение максимальной длины пути" файлы именования, пути и пространства имен.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Функция moveFile
Если файл перемещается по томам, MoveFile не перемещает дескриптор безопасности с файлом. Файл будет назначен дескриптор безопасности по умолчанию в целевом каталоге.
Функция MoveFile
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технологии | Поддержанный |
---|---|
Протокол SMB 3.0 | Да |
Отработка отказа SMB 3.0 (TFO) | См. комментарий |
SMB 3.0 с масштабируемыми общими папками (SO) | См. комментарий |
Файловая система общего тома кластера (CSVFS) | Да |
Отказоустойчивая файловая система (ReFS) | Да |
SMB 3.0 не поддерживает переименование альтернативных потоков данных в общих папках с возможностью непрерывной доступности.
Заметка
Заголовок winbase.h определяет MoveFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |