Функция FileCopy

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


FileCopy

Копирует один или несколько файлов.

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

Параметры

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

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

Успех:Возвращает 1.
Ошибка:Возвращает 0.

Примечания

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

Подробнее о масках (wildcards) смотрите в FileFindFirstFile().

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

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

См. также

FileMove, FileDelete, DirCopy, DirCreate

Пример

Exit ; защита от случайного запуска

; Копирует все log-файлы в txt-файлы, оставляя оригинальные имена прежними
; Флаг 9 = (1 + 8), где 1 - перезаписывать файл, 8 - создать папку назначения
FileCopy("C:\Temp\*.log", "C:\Temp2\*.txt", 9)

; Копирует все txt-файлы с оригинальными именами.
; Без флага = 8, если папка назначения не существует, то копировнаие не произойдёт
FileCopy("C:\Temp\*.txt", "C:\Temp\TxtFiles\", 8)

; Копирует файл в другую папку с заданным именем. Флаг 9 = (1 + 8)
FileCopy("C:\Temp\file.txt", "C:\Temp\TxtFiles\NewFile.txt", 9)

; Создаёт папку назначения, если вы не хотите проверять наличие папки с помощью флага =1 для последующих вызовов FileCopy.
DirCreate("C:\new\data1")
FileCopy("C:\old\file1.txt", "C:\new\")
FileCopy("C:\old\file2.txt", "C:\new\data1\")