Яндекс.Метрика

FileCopyDir -Autohotkey

Копирует папку вместе со всеми её подпапками и файлами (наподобие xcopy).

Копирует папку вместе со всеми её подпапками и файлами (наподобие 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).

ErrorLevel

Равен 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
Теги страницы: