Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

FileCopy -Autohotkey

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

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).

ErrorLevel

Содержит число файлов, которые не удалось скопировать из-за ошибок, иначе равен 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 }
Автор перевода: YMP
Настоящее имя переводчика: Юрий Попов
Источник: http://www.script-coding.com/AutoHotkey/FileCopy.html
Под редакцией ahk-wiki.ru от 21.08.19