Копирование файлов windows 100 процентов

Обновлено: 02.07.2024

В определенный момент времени, от пользователя одной межрегиональной компании было получено обращение о довольно таки необычной и впервые мною наблюдаемой ошибке. В заявке отмечалось, что время от времени у клиента зависает копирование файлов по сети. Постепенно проблема эскалировалась на некоторое ограниченное количество других станции, при этом не приобретя характер эпидемии. По началу, описанная ситуация была зафиксирована в корпоративной сети между клиентскими рабочими станциями, функционирующими под управлением операционной системы Windows 7 и файловым сервером на Windows 2008R2. Зависание копирования файлов наблюдалось только для файлов, имеющих определенный размер, ориентировочно в диапазоне от 100 мегабайт и более, и визуально характеризовалось останавливающимся на произвольной отметке индикатором прогресса копирования и оценочной скоростью 0 байт/сек.:

Копирование файлов зависает

..в таком вот состоянии процесс копирования мог пребывать сколь угодно долго, абсолютно не реагируя ни на какие действия пользователя применительно к окну.

Проблема

Поначалу создалось впечатление, что в проблеме однозначно участвует файловый сервер Windows 2008R2, однако чуть позже, после более детального изучения инцидента стало очевидным, что зависает копирование файлов так же и между двумя произвольными клиентскими рабочими станциями, включенными в корпоративную локальную сеть. И в то же время, инцидент проявлял себя не часто и далеко не на всех машинах, было зафиксировано, что некоторые станции в корпоративной сети работали с тем же файловым сервером и между собой абсолютно нормально. При проявлении описанной проблемы сама система функционировала в штатном режиме, однако процесс explorer.exe , в контексте которого происходило копирование, зависал наглухо, зачастую не давая себя снимать через диспетчер задач. При этом, как минимум, протокол SMB переставал нормально функционировать, наблюдались проблемы с доступам к сетевым ресурсам. К тому же, в процессе выключения проблемной станции, этап завершения сеанса мог выполняться бесконечно долго. На основании обобщенного анализа всех деталей инцидента, можно было сделать вывод о достаточно сыром коде обработки различных нештатных ситуаций в стеке TCP/IP Windows 7, однако истинная причина крылась вовсе не в этом.
Как всегда, по началу применялся всеми горячо любимый, великий и могучий "метод тыка", обновлялись драйвера, сбрасывались настройки сетевого интерфейса, сравнивались установленные обновления, устраивались различные ритуальные танцы с бубном вокруг проблемных машин :), использовались и прочие, не менее действенные методы из арсенала технического специалиста. В итоге всего этого увлекательного действа виновник был найден, и им оказался сетевой маршрутизатор (располагающийся на пути следования пакетов данных), имеющий одну интересную особенность: прошивка не поддерживала динамическое окно передачи.

Теория

Перед нами встает резонный вопрос, что же это за динамическое окно передачи и какое влияние данная технология оказывает на процесс передачи файлов между хостами в сети? Применительно к протоколу TCP/IP определены такие понятия как окно приема TCP (TCP Receive Window, RWIN) и окно передачи TCP (TCP Send Window). В действительности это одно логическое окно, просто создается оно как на принимающей, так и на передающей сторонах при инициализации TCP соединения между двумя узлами сети, имеет на обеих сторонах одинаковую размерность, представляет из себя, фактически, типичный буфер (блок данных в памяти). Окно используется для контроля скорости потока принимающей стороной, а так же для указания количества данных, которые могут быть отправлены отправителем за один прием, оно так же определяет, какой объем неподтвержденных данных может находиться в пути от отправителя к получателю. Отправитель может посылать только байты передаваемого потока, находящиеся в данный момент внутри этого логического окна. Окно как бы перемещается по исходящему байтовому потоку данных на отправляющей стороне и входящему байтовому потоку данных на принимающей стороне. Выражаясь яснее, участок данных в исходящем байтовом потоке, который отправителю разрешено отправлять, соответствует участку данных во входящем байтовом потоке, который получатель может принять.

Ключевой момент состоит в том, что данное окно может масштабироваться на протяжении жизни сессии TCP с целью оптимального использования пропускной способности канала.

Технология масштабирования окна TCP ( TCP Window Scaling ), описанная в предложении RFC 1323, была реализована разработчиками впервые еще в сетевом стеке TCP/IP операционной системы Windows 2000, но по-умолчанию предусмотрительно была отключена. В версиях Windows, предшествующих Vista, окно приема TCP имело максимальный размер, равный 64 килобайта (65535 байт). Начиная с Windows Vista разработчики модифицировали стек TCP/IP и реализовали алгоритм автоматической настройки окна приема TCP ( TCP Receive Window Auto-Tuning ), который использует TCP Window Scaling Option. Теперь уже окно приема TCP, за счет введения дополнительной опции в заголовке TCP пакета, может расширяться аж до 16 мегабайт. Алгоритм TCP Receive Window Auto-Tuning позволяет ядру определять оптимальный размер окна приема TCP на основании измерения интегрального показателя задержки передачи и скорости извлечения данных принимающим приложением, после чего размер окна адаптируется (в реальном времени) в соответствии с изменяющимися параметрами физического канала передачи и приложения. Во время передачи данных в рамках TCP-сессии обе стороны стараются установить оптимальный размер данного окна для повышения производительности обмена данными через каналы с высокой пропускной способностью и высоким показателем задержки передачи, к коим и относится большинство современных каналов сети Интернет.

Отличная технология, и всё было бы хорошо, если бы все устройства поддерживали алгоритм автоматической настройки окна приема TCP.

Ан нет, огромное количество сетевых маршрутизаторов, фаерволов и прочих "продвинутых" устройств этого делать не умеют, а некоторые уже никогда и не научатся по причине того, что производители не выпускают к ним новые версии прошивок.

Решение

Для решения проблемы зависания копирования файлов по сети к нам на выручку приходит системная утилита командной строки netsh , предназначенная для управления параметрами сетевой конфигурации локальной или удаленной станции.

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

Давайте посмотрим текущее состояние некоторых параметров настройки интерфейса TCP/IP, выполнив следующую команду:

netsh interface tcp show global

В ответ мы получили вывод текущих параметров настройки TCP/IP, среди которых нас интересует "Уровень автонастройки окна получения", который по-умолчанию имеет значение "normal":

зависает копирования файлов

Параметр может принимать следующие значения:

  • disabled предписывает использовать фиксированное значение окна приема TCP. Значение по-умолчанию = 64 килобайта (65535 байт). Полная совместимость со устаревшим сетевым оборудованием;
  • highlyrestricted позволяет окну приема TCP выходить за границы значения по-умолчанию, в разумных пределах;
  • restricted позволяет окну приема TCP выходить за границы значения по-умолчанию, еще более свободно;
  • normal установка по умолчанию. Допускает увеличение окна приема TCP с учетом большинства возможных сценариев обмена;
  • experimental позволяет окну приема TCP увеличиваться до максимальных значений (16+ мегабайт). Не рекомендуется, потому как может вызвать падение производительности в большинстве возможных сценариев обмена;
После применения нижеописанных команд потребуется перезагрузка операционной системы.

Для начала переводим уровень автонастройки окна получения в значение disabled , фактически отключая автонастройку и предписывая использование фиксированного значения:

netsh interface tcp set global autotuninglevel=disabled

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

netsh interface tcp set global rss=disabled

Выводы

В ситуации, когда обмен данными происходит между двумя, напрямую подключенными друг к другу, станциями под управлением операционных систем Windows версий Vista и более поздних, проблема никогда себя не обнаруживает. Однако в современной корпоративной сетевой среде довольно часто применяются управляемые коммутаторы и прочие сложные сетевые устройства, и вот именно их собратья с устаревшим микропрограммным обеспечением, не поддерживающие динамическое окно передачи, и становятся источником проблемы зависания копирования файлов (и ряда смежных). Конкретно в нашем случае виновником был Cisco Catalyst 3750 v2 с версией Cisco IOS Software младше 12.3(15). В дополнение к данной конфигурации, теоретически ошибка может проявляться при передаче между двумя станциями, подключенными напрямую, одна из которых работает под управлением Windows версии Vista и более поздних, а другая под управлением старых операционных систем (таких как Windows XP и более ранних), однако я лично подобную связку не тестировал.


Хотя вы, вероятно, не особо задумываетесь о диалоге копирования в Windows, возможно, в некоторых отношениях он может быть лучше. Это не всегда быстро, когда вы копируете большое количество файлов. А в Windows 7 и более ранних версиях весь процесс останавливается и ожидает ввода, если есть конфликт или другая ошибка.

К счастью, в Windows 10 такой проблемы нет. Но вы все равно можете ускорить копирование файлов в Windows другими способами. Давайте посмотрим на некоторые из них.

1. Основные быстрые комбинации клавиш для копирования файлов

Наиболее важными из них являются основные операции вырезания, копирования и вставки:

Это не единственные сочетания клавиш File Explorer, о которых вы должны знать. Используйте Ctrl + Shift + N, чтобы быстро создать новую папку для размещения ваших скопированных файлов. Alt + Left/Right позволит вам перейти к предыдущей и следующей папкам соответственно. Используйте Alt + Up, чтобы перейти на один уровень вверх в иерархии папок.

2. Изучите полезные ярлыки мыши


Если вы предпочитаете использовать мышь, не так много хитростей для легкого копирования и вставки. Но вы можете использовать несколько хитростей.

Удерживайте Ctrl и щелкните несколько файлов, чтобы выбрать их все, независимо от того, где они находятся на странице. Чтобы выбрать несколько файлов подряд, щелкните первый, затем, удерживая клавишу Shift , нажимайте последний. Это позволяет легко выбрать большое количество файлов для копирования или вырезания.

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

3. Используйте Windows 10


Ранее мы упоминали, что Windows 8 и Windows 10 имеют гораздо лучший интерфейс копирования, чем Windows 7 и более ранние версии. Это быстрее и предоставляет график, показывающий скорость со временем.

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

И что лучше всего, диалоговое окно копирования в Windows 10 не будет полностью остановлено, если в работе возник конфликт. Это продолжается и позволяет вам ответить, когда вы вернетесь. Это намного лучше, чем отступить на некоторое время, только вернуться и обнаружить, что операция приостановлена ​​на десять секунд.

Microsoft попрощается с Windows 7 в 2020 году. Если вы все еще используете Windows 7, сейчас самое время перейти на Windows 10 и получить всевозможные улучшения, подобные этому.

4. Попробуйте TeraCopy


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

У TeraCopy есть несколько других штрихов, которые делают его еще более изысканным. При желании вы можете интегрировать приложение с File Explorer, чтобы все операции копирования/вставки использовали TeraCopy по умолчанию. Он также сохраняет исходную информацию о дате и времени скопированных файлов.

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

Загрузить: TeraCopy (бесплатная, доступная премиум-версия)

5. Получите Geeky с Robocopy


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

Его использование значительно облегчает выполнение повторяющихся заданий копирования. Для тех, кому нужен быстрый метод копирования по сети, Robocopy также будет необходим.

Чтобы использовать Robocopy, откройте окно командной строки или PowerShell. Команда начинается с robocopy и принимает ряд параметров в зависимости от того, что вы хотите. Рассмотрение всего этого выходит за рамки этого обсуждения; проверьте страницу справки Microsoft по Robocopy или введите robocopy /? в командной строке для получения инструкций.

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

6. Обновите ваши диски, чтобы ускорить копирование файлов

Хотя все вышеперечисленное является программной настройкой, мы должны отметить, что аппаратное обеспечение также играет важную роль в скорости копирования данных.

Как вы, вероятно, знаете, старые жесткие диски (HDD) работают намного медленнее, чем твердотельные накопители (SSD). Копирование файлов на HDD займет больше времени, чем та же операция на SSD. Если у вас еще нет SSD на вашем компьютере, рассмотрите возможность обновления, чтобы сделать перемещение и копирование файлов намного быстрее.

Это также необходимо учитывать при копировании на внешний диск или с него. Если у вас есть старый внешний жесткий диск или флэш-накопитель, который использует USB 2.0, скорость передачи данных будет низкой. Для достижения наилучших результатов используйте современный USB 3.0 накопитель, который поддерживает намного более быструю передачу данных.

И так к делу. Все буду проделывать на Windows 7 но действия совместимы на 100% и с такими операционными системами акак 2003, Vista, 8, 2008R2 (Только под Windows 2003 нужно установить Resource Kit Tools).

Архивация и Восстановление

1. Заходим в панель управления и находим там Архивация и Восстановление, запускаем и видим следующие

image

Выбираем в левом углу «Создать образ системы» после чего видим следующие

image

Выбираем любой вариант который вам по душе, но мой совет не выбирайте вариант сохранять образ системы на том же диске. Backup должен всегда храниться на другом источники и лучше всего на двух! После того как выбрали нажимаем далее и видим следующие окно которое нас информирует о том что будет сделано

image

Нажимаем кнопку «Архивировать» после того как образ создаться, создаем диск восстановления системы

image

Таким способом довольно простым сделали backup системы и всех установленных программ с их настройками на системном диске. После чего в будующем можно спокойно вставить загрузочный диск который мы создали и восстановить систему. Также вы можете настроить систему архивации, на автоматический режим на свое усмотрение. Далее я расскажу как делать backup информации на других дисках и отдельных папок с помощью стандартной утилиты которая входит в поставку приведенных в посте операционных систем, которая называется robocopy .

Robocopy.exe — Многопоточное копирование

Robocopy разработана для отказоустойчивого копирования каталогов и деревьев каталогов. Она обладает возможностью копирования всех (или выборочных) NTFS атрибутов и свойств, имеет дополнительный код для перезапуска при применении с сетевым соединением в случае его разрывов.

Итак, к делу. Cоздаем текстовый файл и пишем в нем следующие:

Что происходит а происходит вот что мы копируем зеркально файлы и каталоги с диска D из папки MyProject на диск E в папку Backup\MyProject которая находиться на внешнем USB диске. Файлы копируются те которые были изменены не происходит постоянная перезапись файлов. Также получаем Log файл где описано подробно что было скопировано а что нет и какие были ошибки.

Сохраняем файл и переименовываем его в любое понятное для вас название но заместо расширения .txt ставим .bat либо .cmd кому как угодно.

Далее идем в панель управления — администрирование — запускаем планировщик задач и создаем новую задачу даем ей имя, устанавливаем в триггерах время интервал запуска задачи в действиях указываем запуск нашего файла хххххх.bat или хххххх.cmd Теперь у нас происходит автоматический backup данных по нашему расписанию. Спим спокойно и не переживаем.

P.S Возможно многим покажется данная статья баяном, но я так не считаю данный метод меня уже не раз спасал от утери информации и восстановления системы. Да и людям другим помогало кто спрашивал у меня совета как это сделать. Написал данную статью дабы также объективно иметь возможность комментирование посты других участников и писать новые статьи по возможности которые будут помогать людям.

И так к делу. Все буду проделывать на Windows 7 но действия совместимы на 100% и с такими операционными системами акак 2003, Vista, 8, 2008R2 (Только под Windows 2003 нужно установить Resource Kit Tools).

Архивация и Восстановление

1. Заходим в панель управления и находим там Архивация и Восстановление, запускаем и видим следующие

image

Выбираем в левом углу «Создать образ системы» после чего видим следующие

image

Выбираем любой вариант который вам по душе, но мой совет не выбирайте вариант сохранять образ системы на том же диске. Backup должен всегда храниться на другом источники и лучше всего на двух! После того как выбрали нажимаем далее и видим следующие окно которое нас информирует о том что будет сделано

image

Нажимаем кнопку «Архивировать» после того как образ создаться, создаем диск восстановления системы

image

Таким способом довольно простым сделали backup системы и всех установленных программ с их настройками на системном диске. После чего в будующем можно спокойно вставить загрузочный диск который мы создали и восстановить систему. Также вы можете настроить систему архивации, на автоматический режим на свое усмотрение. Далее я расскажу как делать backup информации на других дисках и отдельных папок с помощью стандартной утилиты которая входит в поставку приведенных в посте операционных систем, которая называется robocopy .

Robocopy.exe — Многопоточное копирование

Robocopy разработана для отказоустойчивого копирования каталогов и деревьев каталогов. Она обладает возможностью копирования всех (или выборочных) NTFS атрибутов и свойств, имеет дополнительный код для перезапуска при применении с сетевым соединением в случае его разрывов.

Итак, к делу. Cоздаем текстовый файл и пишем в нем следующие:

Что происходит а происходит вот что мы копируем зеркально файлы и каталоги с диска D из папки MyProject на диск E в папку Backup\MyProject которая находиться на внешнем USB диске. Файлы копируются те которые были изменены не происходит постоянная перезапись файлов. Также получаем Log файл где описано подробно что было скопировано а что нет и какие были ошибки.

Сохраняем файл и переименовываем его в любое понятное для вас название но заместо расширения .txt ставим .bat либо .cmd кому как угодно.

Далее идем в панель управления — администрирование — запускаем планировщик задач и создаем новую задачу даем ей имя, устанавливаем в триггерах время интервал запуска задачи в действиях указываем запуск нашего файла хххххх.bat или хххххх.cmd Теперь у нас происходит автоматический backup данных по нашему расписанию. Спим спокойно и не переживаем.

P.S Возможно многим покажется данная статья баяном, но я так не считаю данный метод меня уже не раз спасал от утери информации и восстановления системы. Да и людям другим помогало кто спрашивал у меня совета как это сделать. Написал данную статью дабы также объективно иметь возможность комментирование посты других участников и писать новые статьи по возможности которые будут помогать людям.

Копирование файлов

Копирование файлов – процесс переноса точной копии определённых данных с одного носителя информации на другой или с одних кластеров на другие в пределах одного запоминающего устройства.

Работая в Windows пользователям очень часто приходится копировать различного рода информацию. К сожалению, данный процесс работает не всегда корректно и оптимально, что приводит к ситуациям, когда наблюдается медленное копирование файлов на съёмные носители или даже в пределах жёсткого диска.

В статье ниже мы рассмотрим принцип копирования данных в Windows и способы ускорения копирования при помощи изменения некоторых настроек и стороннего софта.

Оптимизируем процесс копирования в Windows

Если Ваш компьютер медленно копирует файлы на флешку или жёсткий диск, не спешите винить устройства в их "тормознутости". Возможно проблема в несовершенстве самой Windows.

Жизнь часто подкидывает нам всяческие задачки. В особенности, если Вы – "компьютерщик" :) Вот и я столкнулся с одной, не то чтобы проблемой, но неприятностью, выход из которой был успешно найден. Поэтому спешу поделиться с Вами своими изысканиями.

А дело было так. Пришлось мне сбрасывать на флешку с одного компьютера в нашей "конторе" большой ZIP-архив на 3 с лишним гигабайта (там была куча всякой документации за прошлые годы). Средняя скорость записи на мою флешку – примерно 3–4 мегабайта в секунду. Резонно рассудив, что при такой скорости архив скопируется примерно за 17–25 минут (грубо говоря 1000–1500 секунд :)), я на свою беду поставил копирование за полчаса до конца рабочего дня.

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

Что влияет на скорость копирования

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

В реальных условиях нужно учитывать ещё ряд параметров:

  • степень изношенности носителя;
  • качество соединительных шлейфов передачи данных;
  • качество питания носителя;
  • правильные настройки BIOS;
  • наличие драйверов материнской платы;
  • установленный режим передачи данных;
  • степень "захламлённости" Windows.

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

Проблема может скрываться и в BIOS. Практически все современные компьютеры имеют жёсткие диски, которыми управляет SATA-контроллер. В BIOS этот контроллер должен быть обязательно активирован ("Enabled") и работать в режиме "AHCI" (если, конечно, у Вас стоит современная ОС Windows 7 и выше):

Настройка BIOS SATA

Также озаботьтесь вопросом проверки наличия драйверов для чипсета. Если они не установлены, то южный мост Вашего ПК может некорректно работать на стандартных драйверах Windows, что вполне может приводить к проблемам в работе с носителями информации и USB-устройствами.

Если всё вышеперечисленное Вам не подошло, то ещё одним способом решить проблему медленного копирования штатными средствами может стать изменение режима передачи данных. Для этого вызовите Диспетчер устройств, откройте раздел "IDE ATA/ATAPI контроллеры", вызовите свойства того контроллера, который отвечает за работу Вашего жёсткого диска и проверьте во вкладке "Дополнительные параметры" установленный режим передачи данных. Должен быть "DMA, если доступно" и текущий режим ультра DMA 5:

UDMA 5

Если стоит PIO и изменить его не выходит, то у Вас, скорее всего, произошёл сбой в системе. Попробовать его устранить можно, удалив устройство с режимом передачи PIO и перезагрузив компьютер. Если и это не поможет, то решиться проблема может только переустановкой Windows.

Последним вариантом ускорения копирования для владельцев Windows 7 и выше (правда, в "Десятке", вроде, этого уже нет) является отключение компонента "Удалённое разностное сжатие". Для этого зайдите в Панель управления, раздел "Программы и компоненты", нажмите внизу слева пункт "Включение или отключение компонентов Windows" и снимите соответствующую галочку:

Удалённое разностное сжатие

Технология ускорения копирования

А теперь представим, что всё у нас работает как надо, но копирование всё равно медленное. Почему? Здесь всё упирается в принцип копирования. В штатном режиме оно происходит по следующей схеме: в оперативную или кеш-память считывается небольшой блок информации, а затем записывается в нужное место (новый блок на жёстком диске или на съёмном носителе) и далее по циклу.

Для небольших файлов такая схема прямого копирования вполне приемлема, но для больших может вызывать замедление. Можно ли как-нибудь ускорить их копирование? Теоретически, да! Для этого нужно использовать какой-либо быстрый носитель информации, который будет кешировать сразу весь файл (или хотя бы его большую часть) и записывать из собственной быстрой памяти непрерывным потоком.

Одним из наиболее универсальных и доступных устройств подобного рода в компьютере является оперативная память. При стандартном копировании данные тоже могут передаваться через неё, но в виде потока мелких кластеров информации. Если же предварительно считать и поместить в неё целиком весь файл, то мы сможем получить существенное ускорение при его записи в непрерывном виде! Именно такой подход реализуют существующие программы для оптимизации копирования, которые я и предлагаю рассмотреть (кстати, подобные алгоритмы начали использоваться в Windows, начиная с "Восьмёрки", но они ещё далеки от идеала).

Перед установкой я решил провести контрольный замер. Было взято 20 небольших (200 – 800 КБ) файлов-изображений общим размером 16 мегабайт и один большой ISO-образ на 3 ГБ. Время копирования в пределах одного раздела жёсткого диска составило 2 сек. для картинок и 2 мин. 3 сек. для большого файла. На флешку (средняя скорость записи – 5 МБ/сек) запись длилась 3,4 сек. и 9 мин. 35 сек. соответственно. Попробуем теперь копировать со специальными утилитами и сравним разницу.

Программы для ускорения копирования

TeraCopy

Наиболее знаменитой программой для ускорения копирования является TeraCopy:

TeraCopy

На официальном сайте Вы можете скачать её бесплатную версию, которая обладает базовым функционалом, а затем (при желании) купить PRO-редакцию с дополнительными функциями. Однако. нас интересует только бесплатный софт, поэтому от покупок мы откажемся и попробуем поработать как есть.

При установке нам предложат поставить TeraCopy в обычном или портативном режиме, а также создать нужные ярлыки и ассоциировать с некоторыми файлами (лучше снять ассоциацию). После завершения установки запустится основное и единственное рабочее окно, которое, к счастью, имеет русскоязычный интерфейс.

Для копирования через программу Вам нужно перетащить в её окно нужные файлы и указать конечную папку, куда эти файлы требуется поместить. Кроме того, TeraCopy ассоциируется с Проводником и при перетаскивании или копировании горячими клавишами предлагает сделать это средствами программы.

Из дополнительных возможностей бесплатной версии стоит отметить возможность выполнения ряда действий по завершению копирования (выключение ПК, открытие дисковода, тестирование целостности скопированных файлов и т.п.). Также в опциях есть возможность активировать проигрывание звука по завершению задания, а также использование для работы кеша системы.

Что касается результатов, то на Windows 8.1 x64 они ненамного превзошли штатные, хотя, прирост есть. Так, в пределах жёсткого диска копирование 20 картинок (16 МБ) заняло 1,5 сек., а 3-гигабайтного образа – 1 мин. 48 сек. На флешку запись длилась 2,95 сек для изображений и 8 мин. 32 сек. для большого файла соответственно.

FastCopy

Следующей мы протестируем японскую программу, которая по заверениям разработчиков реализует самый быстрый алгоритм копирования файлов, – FastCopy:

FastCopy

Программа полностью бесплатна и имеет отдельную 64-битную версию. Поставляется она в виде архива с портативной программой и файлом setup.exe, который позволяет установить и зарегистрировать FastCopy в системе (добавится пункт копирования в контекстном меню) или же удалить все ассоциации.

К сожалению, язык интерфейса только английский, но не особо замороченный. Суть проста: нужно выбрать исходную папку ("Source") и конечную, в которую нужно копировать содержимое источника. Чтобы не копировались все файлы из указанной директории можно активировать фильтр ("Filter"), который позволяет задать маски включения и исключения (например, *.exe или Image*.*). Не совсем удобно, но пользоваться можно.

Касаемо результатов. Копирование мелких файлов в другую папку заняло 1,8 сек., а большой скопировался за 1 мин. 49 сек. Копирование же на флешку завершилось с результатами 3,8 сек. для картинок и 9 мин. 12 сек. для образа. Как видим, несмотря на заверения разработчиков, результаты не самые лучшие, но есть.

Supercopier

Немецкое качество всегда ценилось. Посмотрим, есть ли оно в программе Supercopier, которая "родом" именно из Германии:

Supercopier

Программа поставляется в виде инсталлятора или portable-версии. Имеются как 32-битная, так и 64-битная версии. Также есть платная редакция, которая, по сути, служит для "доната", то есть, Вашей благодарности разработчику :) Кстати, на портативную версию почему-то "ругался" антивирус 360 Total Security, хотя на инсталляторную нет.

Интерфейс русифицирован только частично (особенно в меню много непереведённых английских слов). Зато интеграция с системой – максимальная: программа по умолчанию подменяет штатную функцию копирования без каких-либо дополнительных вопросов как в TeraCopy.

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

Касательно непосредственно копирования немцы, всё-таки, подкачали! Картинки в новую папку скопировались практически мгновенно – за 0,9 сек., а вот образ диска на 3 ГБ – за 2 мин. 6 сек. С флешкой, правда, получилось получше: 2,7 сек. для изображений и 9 мин. 20 сек. для большого файла.

Однако, такие результаты были получены на штатных настройках. Если же, к примеру, увеличить размер блока с 256 КБ до 1 МБ, а также размеры буферов (последовательный до 512 МБ со 131 и параллельный до 128 МБ с 1), то скорость копирования больших файлов возрастёт до 1 мин. 50 сек. на локальном жёстком диске и до 8 мин. 40 сек. на съёмном. Правда, тогда страдает копирование мелких данных: 1,6 сек. и 3,1 сек. соответственно.

ExtremeCopy

Ещё одним претендентом на звание лучшей замены штатной функции копирования является программа ExtremeCopy:

ExtremeCopy

Самая актуальная версия программы является платной, однако, предыдущие её редакции можно скачать и использовать бесплатно. Правда, в них нет возможности настраивать вручную заданные лимиты буферов и иные параметры, но она работает и так весьма неплохо. Есть возможность скачать 64-битную и портативную (правда ещё более раннюю) версии.

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

Что же касается скорости копирования, то мелкие картинки в новую папку скопировались ровно за секунду, а большой файл за 1 мин. 48 сек. Для флешки результаты такие: 3 секунды для "мелочи" и 9 мин. 13 сек. для образа.

Сравнение

Выводы

Как видим, скорость копирования файлов реально повысить даже в современных операционных системах. Что уж говорить об устаревших Windows XP, Vista и 7. В них ещё не было прогрессивных систем передачи данных, поэтому ускорение на них будет весьма значительным.

В новых ОС прирост не особо заметен (максимум - 1 минута для крупных файлов и около секунды для мелких). Однако, и здесь программы для копирования могут пригодиться, поскольку многие из них имеют в своём арсенале такие дополнительные функции как пауза копирования, пропуск файлов и даже формирование списка файлов и отложенное копирование по ним. Поэтому выбирайте себе ту программу, которая Вам нравится больше всего и пользуйтесь на здоровье!

Читайте также: