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


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, FileSetAttrib

Примеры:
 Как создать кнопку?


exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt') ;; перемещение файла test.txt из папки Test в папку My с изменением имени в test_bak.txt (если папка D:\My\ не создана, то не перемещается)

exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt',8) ;; перемещение файла test.txt из папки Test в папку My с изменением имени в test_bak.txt (если папка D:\My\ не создана, то создаётся и файл не перемещается)

exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt',9) ;; перемещение файла test.txt из папки Test в папку My с изменением имени в test_bak.txt с заменой, если такой файл уже существует (если папка D:\My\ не создана, то создаётся и файл не перемещается)

exect=FileMove('C:\Test\*.txt','D:\TxtFiles\',9) ;; перемещение всех txt-файлов из папки Test в TxtFiles


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru