Перейти на главную страничку сайта (список статей, файлы для скачивания)
Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.
Оригинал статьи в AutoHotkey.chm: "FileCopyDir", в содержании - "File, Directory and Disk Management" - "FileCopyDir", v1.0.46.09.
Ник переводчика: YMP.
Настоящее имя переводчика: Юрий Попов.
Копирует папку вместе со всеми её подпапками и файлами (наподобие xcopy).
FileCopyDir, Source, Dest [, Flag]
Source | Источник. Имя папки (без обратной косой черты на конце). Если не задан полный путь, ищется в папке, указанной в переменной A_WorkingDir. Пример: C:\My Folder |
Dest | Приёмник. Имя папки (без обратной косой черты на конце). Если не задан полный путь, создаётся в папке, указанной в переменной A_WorkingDir. Пример: C:\Copy of My Folder |
Flag | Флаг (необязателен). Этот флаг определяет, переписывать ли файлы, если они уже существуют. 0 (по умолчанию): не переписывать файлы. Операция закончится неудачей и не произведёт никакого эффекта, если указанное в Dest уже существует как файл или папка. 1: переписывать файлы. Однако никакие файлы или папки в Dest, которые не совпадают по имени с указанными в Source, удалены не будут. Этот параметр может быть выражением, даже таким, которое расценивается как true (истина) или false (ложь) (поскольку эти значения хранятся в виде 1 и 0). |
Равен 1, если были проблемы, иначе 0.
Если структура папок приёмника не существует, она будет создана, если это возможно.
Поскольку операция рекурсивно копирует папку вместе со всеми её подпапками и файлами, результат копирования папки куда-нибудь внутрь самой этой папки непредсказуем. Чтобы обойти это, сначала скопируйте куда-нибудь вне папки, а затем используйте FileMoveDir, чтобы переместить скопированное по назначению.
FileCopyDir копирует одиночную папку как целое. Если нужно скопировать только содержимое папки (все её файлы и подпапки), смотрите пример в описании FileCopy.
FileCopyDir, C:\My Folder, C:\Copy of My Folder ; Пример №2: Скрипт, предлагающий вам скопировать папку. FileSelectFolder, SourceFolder, , 3, Выберите папку для копирования. if SourceFolder = return ; Иначе продолжим. FileSelectFolder, TargetFolder, , 3, Выберите папку, В КОТОРУЮ нужно поместить копию. if TargetFolder = return ; Иначе продолжим. MsgBox, 4, , Копия папки "%SourceFolder%" будет помещена в "%TargetFolder%". Продолжить? IfMsgBox, No return SplitPath, SourceFolder, SourceFolderName ; Извлечь из полного пути только имя папки. FileCopyDir, %SourceFolder%, %TargetFolder%\%SourceFolderName% if ErrorLevel MsgBox Папка не может быть скопирована. Возможно, папка с таким именем уже существует в "%TargetFolder%". return
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.