# 2.4. Копирование/перемещение файлов

## Содержание

1. Диалоговое окно копирования/перемещения
2. Диалог выполнения операции
3. Конфликты имён
4. Дополнительные настройки

## 1. Диалоговое окно копирования/перемещения

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

Можно вызвать клавишами `F5` (копирование), `Shift+F5` (копировать в этот же каталог) и `F6` (перемещение), кнопками на панели функциональных клавиш или внутренними командами (cm_Copy, cm_CopySamePanel и cm_Rename). Также это диалоговое окно появляется при перетаскивании файлов (если отмечено Показать диалог подтверждения при перетаскивании).

В окне отображается редактируемое поле с целевым каталогом и маской файлов (или имя файла, если только один), мы можем вручную изменить целевой путь и имя файла. С помощью `F5` или `F6` мы можем переключать выделение в следующем порядке: базовое имя файла, имя файла, расширение, путь, всё. Если целевой каталог не указан (`cm_CopySamePanel` или ручное редактирование), файлы будут скопированы в исходный каталог.

Маска файлов определяет, как будут переименованы файлы во время копирования или перемещения (звёздочка "*" обозначает любое количество символов, знак вопроса "?" – любой один символ). Например, мы можем указать `*.*.bak`, чтобы добавить расширение `.bak` всем копируемым файлам. Или, напрмер, использовать `????.*` и обрезать имена до первых четырёх символов. Используя `*.ext`, мы можем заменить расширения всех копируемых файлов на `ext`. Если маска не применима, имена остануться как есть.

Несколько кнопок:

- Старт и Отмена – запускает или отменяет операцию.

- В очередь – добавляет задание в очередь файловых операций. Это удобно, если у нас одновременно работают несколько заданий: мы можем изменить порядок операций в очереди, остановить или приостановить выполнение задачи. Окно со списком файловых операций можно вызвать двумя способами: используйте пункт Файловые операции в меню Вид или `Alt+V` (внутренняя команда `cm_OperationsViewer`).

- Опции – раскрывает дополнительные параметры.

Первая группа параметров определяет действие при разрешении конфликта имён или когда невозможно установить свойства файлов:

- Если файл существует – Если файл с таким именем уже существует в каталоге назначения. Действия: Спрашивать, Перезаписывать, Перезаписывать более старые, Пропускать.

- Если каталог существует – Если папка с таким именем уже существует в каталоге назначения. Действия: Спрашивать, Объединять, Пропускать.

- Если нельзя устан. свойство – Что делать, когда не удаётся установить время файла, его атрибуты и т.д., например, из-за ограничений файловой системы в целевом каталоге. Действия: Спрашивать, Никогда не устанавливать, Игнорировать.

Спрашивать (по умолчанию) предлагает большее возможных действий (смотрите ниже).

Следующая группа – это фильтр, возможность указать, какие файлы копировать или перемещать (маски файлов, возраст и т.д.). Здесь мы можете видеть выбранный шаблон и:

- Кнопка Выбрать шаблон () открывает окно со списком сохранённых шаблонов и возможностью добавить новый.

- Исключить пустые каталоги – Если отмечено, будут скопированы или перемещены только непустые каталоги. Работает только с шаблонами.

Список следующих параметров будет различаться в зависимости от типа файловой операции и семейства операционных систем.

- Проверить после завершения – Если отмечено, Double Commander будет сравнивать исходный файл и скопированный файл в целевом каталоге: побайтовое сравнение (Windows) или контрольные суммы BLAKE2 (Linux и другие). Double Commander попытается свести к минимуму эффекты дискового кэша. Недоступно в macOS(*).

- Проверять свободное место – Double Commander подсчитывает размер выбранных файлов, поэтому может проверить, достаточно ли свободного места в целевом каталоге.

- Резервировать место – Если отмечено, Double Commander будет использовать предварительное выделение дискового пространства, это снизит вероятность фрагментации файла. Также это более быстрый способ создания файлов. В Windows Double Commander всегда резервирует место.

- Следовать ссылкам – Если отмечено, Double Commander будет считать символьные ссылки на папки обычными папками и копировать их содержимое; вместо ссылок на файл будут скопированы файлы, на которые они указывают. Неопредёленное (третье) состояние флажка: программа будет каждый раз спрашивать, что она должна делать.

- Исправлять ссылки – Если отмечено, Double Commander проверит и, если необходимо, поправит их целевой путь с учётом целевого каталога. Если задан относительный путь, то исправленный путь тоже будет записан как относительный.

- Копировать атрибуты – Если отмечено, будут скопированы атрибуты исходного файла, в противном случае будут использоваться значения по умолчанию: 666 (файлы) или 777 (папки). Также смотрите описание `<CopyXattributes>` здесь. Для Windows: смотрите описание `<CopyAttributes>` здесь.

- Сбросить флаг "Только для чтения" – Если отмечено, Double Commander будет добавлять флаг разрешения на запись "w" (Linux).

- Копировать дату/время – Если отмечено, будут скопирована дата модификации исходного файла, в противном случае будет использоваться текущая дата. Для Windows: смотрите описание `<CopyTime>` здесь.

- Копировать владельца – Если не отмечено, владельцем будет пользователь, от имени которого запущена программа.

- Копировать права доступа – позволяет копировать разрешения, специфичные для файловой системы NTFS, в противном случае будут использоваться права текущего пользователя (пользователь, от имени которого запущена программа). Только Windows.

- Копирование при записи – Поддержка одной из особенностей файловой системы Btrfs: по умолчанию Btrfs использует принцип копирование-при-записи (copy-on-write, COW) для всех локальных файлов. Недоступно в Windows.

Примечание: При копировании файлов из архивов будет доступен только параметр Если файл существует. При копировании файлов из плагинов файловой системы (WFX) будет доступно несколько параметров: Если файл существует, Копировать дату/время и Работать в фоне (отдельное соединение). Последний параметр запрещает окну прогресса файловой операции блокировать главное окно Double Commander.

Сохранить по умолчанию – установит текущие значения как значения по умолчанию для последующих операций копирования/перемещения.

(наверх)

## 2. Диалог выполнения операции

В этом диалоговом окне отображается подробная информация о ходе операции: два индикатора выполнения (для текущего обрабатываемого файла и общий), прогресс в процентах (в заголовке), общее количество файлов и количество обработанных файлов, полное имя текущего файла и имя в целевом каталоге, размер, скорость и оставшееся время.

Кнопки:

- Пауза/Продолжить – позволяет приостановить или продолжить операцию.

- Отмена – отменит операцию и закроет диалог.

- На панель – свернёт это окно в панель операций.

- Показать все – вызовет окно Файловые операции.

(наверх)

## 3. Конфликты имён

Если в целевом каталоге уже существует файл с именем копируемого файла, Double Commander предложит несколько действий. Выбор действия, которое будет использоваться автоматически (без участия пользователя), не сохранится для последующих вызовов операции копирования/перемещения.

Если существует папка с тем же именем:

- Объединить – Содержимое папки будет скопировано в одноимённую папку целевого каталога.

- Объединить (для всех) – То же, что и предыдущее, будет использоваться в последующих конфликтах имён автоматически.

- Пропустить – Double Commander не будет копировать эту папку.

- Пропустить все – То же, что и предыдущее, будет использоваться в последующих конфликтах имён автоматически.

Если существует файл с тем же именем:

- Заменить – Содержимое файла в целевом каталоге будет заменено содержимым файла из исходного каталога.

- Заменить все – То же, что и предыдущее, будет использоваться в последующих конфликтах имён автоматически.

- Заменить более старые – Будут автоматически заменены только файлы, более старые по дате модификации.

- Пропустить – Double Commander не будет копировать этот файл.

- Пропустить все – То же, что и предыдущее, будет использоваться в последующих конфликтах имён автоматически.

- Переименовать – Double Commander покажет диалоговое окно с полем ввода и мы сможем изменить имя файла из исходного каталога вручную на лету.

- Продолжить – Если целевой файл меньше исходного файла или пуст, то разница будет добавлена в конец целевого файла. Это может быть удобнее и быстрее, если, например, загрузка или копирование были прерваны из-за сбоя программы и исходный файл был взят из другого места.

- Другое – меню с дополнительными действиями:

  - Сравнить – вызывает команду Сравнить по содержимому.

  - Дописать – Содержимое файла будет добавлено в конец файла в целевом каталоге.

  - Заменить меньшие – Будут автоматически заменены только файлы меньшего размера.

  - Заменить большие – Будут автоматически заменены только файлы большего размера.

  - Автоматически переименовывать копируемые файлы – Double Commander будет автоматически переименовывать файлы, которые мы копируем, используя шаблон из настроек файловых операций.

  - Автоматически переименовывать имеющиеся файлы – То же, что и предыдущее, но будут переименованы файлы, которые расположены в целевом каталоге.

Кнопка Отмена прервёт операцию.

(наверх)

## 4. Дополнительные настройки

Дополнительные параметры, связанные с операциями копирования/перемещения, представлены на странице настроек Файловые операции.

(наверх)