Функция FileMove

         Описание функции


FileMove

Перемещает один или несколько файлов.

FileMove ( "source", "dest" [, flag = 0 ] )

Параметры

source Путь и имя исходного файла для перемещения (* маски поддерживаются).
dest Путь и имя файла назначения (* маски поддерживаются).
flag [необязательный] Этот флаг указывает на поведение функции, в случае, если файлы уже существуют в каталоге назначения.
Может быть комбинацией следующих значений:
  0 = (по умолчанию) не перезаписывать существующие файлы
  1 = перезаписывать существующие файлы
  8 = создать дерево каталогов, если путь назначения не существует (см. примечания).

Возвращаемое значение

Успех:Возвращает 1.
Ошибка:Возвращает 0, если исходные файлы (source) не могут быть перемещены или файлы назначения (dest) уже существуют и значение параметра flag равно 0.

Примечания

Если исходный каталог и каталог назначения находятся на разных дисках, тогда будут выполнены операции копирования/удаления вместо обычного перемещения.

Поскольку в AutoIt не существует функции "FileRename", используйте функцию FileMove(), чтобы переименовать файл!

Каталог назначения должен существовать (если не используется значение флага '8'). Например комбинация флага '9' (1 + 8) перезаписывает файлы назначения и предварительно проверяет существование структуры каталогов и если не существует, то создает каталоги автоматически.

Некоторые атрибуты файлов (R, S, T) могут сделать перезапись невозможной. Для перезаписи потребуется снятие указанных атрибутов функцией FileSetAttrib().

Учтите, что эта функция не является рекурсивной, при использовании маски вложенные папки не обрабатываются.

См. также

FileCopy, FileDelete, FileRecycle, DirMove

Пример

Exit ; защита от случайного запуска
FileMove("C:\foo.au3", "D:\mydir\bak.au3")

; Пример 2:
;   Используйте флаг '1' (перезапись) и '8' (авто-создание структуры каталогов в папке назначения) вместе.
;   Перемещает все txt-файлы из папки Temp в TxtFiles и проверяет, что
;   папка назначения существует, иначе автоматически создаёт её.
FileMove(@TempDir & "\*.txt", @TempDir & "\TxtFiles\", 9)