Перейти на главную страничку сайта (список статей, файлы для скачивания)
Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.
Оригинал статьи в AutoHotkey.chm: "FileCopy", в содержании - "File, Directory and Disk Management" - "FileCopy", v1.0.46.09.
Ник переводчика: YMP.
Настоящее имя переводчика: Юрий Попов.
Копирует один или несколько файлов.
FileCopy, SourcePattern, DestPattern [, Flag]
SourcePattern | Источник. Имя файла или папки, либо шаблон, такой как C:\Temp\*.tmp. Если не задан полный путь, SourcePattern ищется в папке, указанной в переменной A_WorkingDir. |
DestPattern | Приёмник. Имя или шаблон. Если не задан полный путь, используется папка, указанная в переменной A_WorkingDir. В случае простого копирования - с сохранением прежних имён файлов - указывайте только имя папки, как показано в этих, функционально идентичных, примерах:
FileCopy, C:\*.txt, C:\My Folder FileCopy, C:\*.txt, C:\My Folder\*.* |
Flag | Флаг (необязателен). Этот флаг определяет, переписывать ли файлы, если они уже существуют. 0 = (по умолчанию) не переписывать существующие файлы 1 = переписывать Этот параметр может быть выражением, даже таким, которое расценивается как true (истина) или false (ложь) (поскольку эти значения хранятся в виде 1 и 0). |
Содержит число файлов, которые не удалось скопировать из-за ошибок, иначе равен 0. Скрипты AutoIt v2 (.aut) устанавливают ErrorLevel в 1, если какие-то файлы не удалось скопировать.
В обоих случаях, если источник - одиночный файл (не шаблон) и если он не существует, ErrorLevel устанавливается в 0. Чтобы отследить такую ситуацию, используйте IfExist или FileExist() для проверки существования файла-источника перед его копированием.
В отличие от FileMove, копирование файла в самого себя всегда расценивается как ошибка, даже если разрешена перезапись файлов.
FileCopy копирует только файлы. Как можно скопировать содержимое папки (все файлы и подпапки в ней), смотрите в разделе примеров ниже. Чтобы скопировать одиночную папку (включая её подпапки), используйте команду FileCopyDir.
Операция копирования продолжается, даже если происходят ошибки.
FileCopy, C:\My Documents\List1.txt, D:\Main Backup\ ; Копирование с сохранением оригинальных имён файлов. FileCopy, C:\My File.txt, C:\My File New.txt ; Копирование файла в ту же папку под новым именем. FileCopy, C:\Folder1\*.txt, D:\New Folder\*.bkp ; Копирование в другое место и с другим расширением. ; Следующий пример копирует все файлы и папки внутри папки в другую папку. ; Прим. переводчика: папка-приёмник уже должна существовать. ErrorCount := CopyFilesAndFolders("C:\My Folder\*.*", "D:\Folder to receive all files & folders") if ErrorCount <> 0 MsgBox %ErrorCount% файлов/папок не удалось скопировать. CopyFilesAndFolders(SourcePattern, DestinationFolder, DoOverwrite = false) ; Копирует все файлы и папки, совпадающие с заданными в SourcePattern в папку, чьё имя указано ; в DestinationFolder и возвращает количество файлов/папок, которые не удалось скопировать. { ; Сначала копируем все файлы (но не папки): FileCopy, %SourcePattern%, %DestinationFolder%, %DoOverwrite% ErrorCount := ErrorLevel ; Теперь копируем все папки: Loop, %SourcePattern%, 2 ; 2 означает "возвращать только папки". { FileCopyDir, %A_LoopFileFullPath%, %DestinationFolder%\%A_LoopFileName%, %DoOverwrite% ErrorCount += ErrorLevel if ErrorLevel ; Сообщать о каждой проблемной папке. MsgBox Не удалось скопировать %A_LoopFileFullPath% в %DestinationFolder%. } return ErrorCount }
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.