Процесс отвечающий за копирование файлов
Вопрос резервного копирования волнует каждого специалиста, ответственного за сохранность вверенных ему бесценных служебных документов/баз данных/иных файлов. Для того, чтобы чувствовать себя более уверенно перед лицом различных вероятных форс-мажоров, необходимо периодически выполнять резервное копирование критически важных данных. Не менее актуальна проблема сохранения нажитого непосильным трудом и для домашних пользователей.
Вашему вниманию предлагается простой, но эффективный скриптик, помогающий решать данную проблему.
Имеем исходные условия:
Операционная система: MS Windows XP, 2003 и т.п.;
Объекты резервирования: Папки и файлы, находящиеся на локальных и сетевых дисках в объеме ~200 ГБ;
Бюджет: 0 руб.;
Количество специально-обученных сотрудников для настройки процесса: 1 чел.
Количество специально-обученных сотрудников для обслуживания процесса: 0 чел.
Задача: ежедневное полное резервное копирование данных, хранение заданного количества созданных бэкапов без участия оператора.
На просторах Сети можно найти довольно большое количество различных программ решающих подобную задачу. Согласно задачи и поставленных условий были найдены, установлены и протестированы в условиях приближенных к боевым следующие программы: Cobian Backup (9, 10), Toucan, Areca, FBackup, Backup2Net и программа резервного копирования Samsung Auto Backup (идет в комплекте с одноименным съемным диском).
И так, приступим. Сначала приведу полный текст скрипта без комментариев. Полный разбор с комментариями см. ниже.
@Echo Off
echo %date% %time% ***Start***
SetLocal EnableDelayedExpansion
Set $SRC=list_add.txt
Set $EXC=list_excl.txt
Set $DST=D:\backups
Set $PSW=password
Set $COMPR=1
Set $COPIES=7
C:\"Program Files"\7-Zip\7z.exe a -t7z -mhe=on "%$DST%\files%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.7z" @%$SRC% -scsWIN -p%$PSW% -mx=%$COMPR% -ssw -xr@%$EXC% >> log_7z.log
For /F "Delims %$DST%\%%i"
)
echo %date% %time% ***End***
Результатом ежедневной работы скрипта будет набор бэкапов нужных Вам данных, имеющий приблизительно такой вид:
dir d:\backups\
files2010-07-12_22-00-00.7z
files2010-07-13_22-00-00.7z
files2010-07-14_22-00-00.7z
files2010-07-15_22-00-00.7z
files2010-07-16_22-00-00.7z
Обещанный разбор с комментариями.
@Echo Off :: Отключение вывода текста скрипта
echo %date% %time% ***Start*** ::Вывод даты и времени старта скрипта
SetLocal EnableDelayedExpansion :: Команда изменяет работу с переменными в цикле.
В обычном случае, чтобы определить значение переменной окружения, надо воспользоваться конструкцией %переменная%. Однако, если значение переменной меняется внутри цикла и читается там же, то для корректной работы бат-файла, следует использовать команду SetLocal EnableDelayedExpansion и вместо символа "%", использовать символ "!". Иначе, значение переменной в цикле будет всегда одним и тем же — таким, каким было до входа в цикл.
Далее для успешной работы предлагаемого скрипта необходимо задать следущие входные параметры (переменные):
$SRC=list_add.txt ::файл-список архивируемых данных
$EXC=list_excl.txt ::файл-список исключаемых файлов
$DST=D:\backups ::место хранения резервных копий
$PSW=password ::секретный пароль шифрования архива
$COMPR=1 ::степень сжатия данных архиватором 7zip (1=самое быстрое архивирование, 5=нормальное сжатие, 9=ультра-сжатие, 0=архивация без сжатия)
$COPIES=7 ::количество хранимых резервных копий
Следующая строка запускает архивацию посредством 7-Zip файлов и папок перечисленных в файле list_add.txt, кроме файлов, указанных в файле исключений list_excl.txt
C:\"Program Files"\7-Zip\7z.exe a -t7z -mhe=on "%$DST%\files%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.7z" @%$SRC% -scsWIN -p%$PSW% -mx=%$COMPR% -ssw -xr@%$EXC% >> log_7z.log
Разберем эту строку подробнее:
C:\«Program Files»\7-Zip\7z.exe :: Указывает место расположения исполняемого файла архиватора 7-Zip (точнее его консольной версии);
a :: это команда добавления файлов/папок в архив;
-t7z :: ключ задает тип создаваемого архива = 7z;
-mhe=on :: включает шифрование паролем заголовка архива и имен файлов/папок в архиве;
%$DST%\files%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.7z
Команда динамически формируем полный путь и имя файла архива вида «D:\backups\files2010-07-12_22-00-00.7z», где в имени присутствуют дата и время архивации;
@%$SRC% :: задает имя файла-списка архивируемых данных, вместо %$SRC% скрипт подставляет имя файла;
-scsWIN :: задает кодировку win для файла-списка;
-p%$PSW% :: ключ задает пароль для шифрования архива, вместо %$PSW% скрипт подставляет текстовую строку пароля;
-mx=%$COMPR% :: ключ задает степень сжатия архивируемых данных;
-ssw :: ключ разрешает архивацию файлов открытых приложениями на запись;
-xr@%$EXC% :: задает имя файла-списка данных, исключаемых из процесса архивации, r = означает, что надо исключать и подпапки, вместо %$EXC% скрипт подставляет имя файла;
Эта часть скрипта отвечает за автоматическое удаление уже ненужных архивов данных, в соответствии с количеством заданым переменной $COPIES.
Разберем подробнее. Автоматическое удаление реализуется путем организации цикла, в ходе которого перебирается набор имен (множество) файлов архивов (как оно формируется — см. чуть ниже строку DIR. )
В общем виде наш цикл имеет вид: for /F [«КлючевыеСловаРазбора»] переменная in (МножествоИменФайлов) do команда [ПараметрыКоманднойСтроки]
Ключ /F определяет, что цикл произведет разбор всех элементов множества «МножествоИменФайлов»;
«КлючевыеСловаРазбора» — указывают какие разделители используются между элементами разбираемого множества, в нашем случае — разделителя нет;
%%i — переменная i, которая содержит в каждый шаг итерации текущий элемент разбираемого множества (т.е. очередное имя файла в нашем случае).
Команда формирует набор (множество) имен файлов, содержащихся в папке заданной переменной $DST и соответствующих маске files. -??-??_??-??-. 7z, где знак вопроса обозначает любой символ в данной позиции; ключ /B задает вывод только имен файлов, а ключ /O:-N задает сортировку по имени (N) или в обратном порядке (-N), в нашем случае — порядок обратный.
Набор имеет вид:
files2010-07-01_22-00-00.7z
files2010-06-30_22-00-00.7z
files2010-06-29_22-00-00.7z
Обратите внимание на порядок сортировки элементов!
Do (. ) — в скобках содержится команда(ы), выполняемые в каждой итерации, в нашем случае:
Set /A $COPIES-=1 :: декремент переменной COPIES, выполняющей роль счетчика цикла;
If !$COPIES! LSS 0 DEL "%$DST%\%%i" :: команда проверяет условие $COPIES LSS 0 т.е. $COPIES, если истина, то следует исполнение команды удаления файла-архива с именем текущего элемента, таким образом количество хранимых копий архива не превысит заданное значение, в нашем примере $COPIES=7.
echo %date% %time% ***End*** ::Вывод даты и времени окончания работы скрипта
Также приведу, для примера, содержимое файла-списка list_add.txt:
M:\mail
U:\updates
Z:\Бухгалтерия
Z:\Отдел*
z:\Справка
Z:\Сисадмин
И файла исключений list_excl.txt:
2) Подробная справка по функциям консольной версии 7-Zip прилагается к архиватору.
Копирование файлов – процесс переноса точной копии определённых данных с одного носителя информации на другой или с одних кластеров на другие в пределах одного запоминающего устройства.
Работая в Windows пользователям очень часто приходится копировать различного рода информацию. К сожалению, данный процесс работает не всегда корректно и оптимально, что приводит к ситуациям, когда наблюдается медленное копирование файлов на съёмные носители или даже в пределах жёсткого диска.
В статье ниже мы рассмотрим принцип копирования данных в Windows и способы ускорения копирования при помощи изменения некоторых настроек и стороннего софта.
Оптимизируем процесс копирования в Windows
Если Ваш компьютер медленно копирует файлы на флешку или жёсткий диск, не спешите винить устройства в их "тормознутости". Возможно проблема в несовершенстве самой Windows.
Жизнь часто подкидывает нам всяческие задачки. В особенности, если Вы – "компьютерщик" :) Вот и я столкнулся с одной, не то чтобы проблемой, но неприятностью, выход из которой был успешно найден. Поэтому спешу поделиться с Вами своими изысканиями.
А дело было так. Пришлось мне сбрасывать на флешку с одного компьютера в нашей "конторе" большой ZIP-архив на 3 с лишним гигабайта (там была куча всякой документации за прошлые годы). Средняя скорость записи на мою флешку – примерно 3–4 мегабайта в секунду. Резонно рассудив, что при такой скорости архив скопируется примерно за 17–25 минут (грубо говоря 1000–1500 секунд :)), я на свою беду поставил копирование за полчаса до конца рабочего дня.
В итоге этот злополучный файл копировался почти целый час! Это заставило меня задержаться на работе, а на следующий день озадачиться вопросом, почему файлы могут медленно копироваться и как ускорить копирование при необходимости. Попробуем разобраться.
Выводы
Как видим, скорость копирования файлов реально повысить даже в современных операционных системах. Что уж говорить об устаревших Windows XP, Vista и 7. В них ещё не было прогрессивных систем передачи данных, поэтому ускорение на них будет весьма значительным.
В новых ОС прирост не особо заметен (максимум - 1 минута для крупных файлов и около секунды для мелких). Однако, и здесь программы для копирования могут пригодиться, поскольку многие из них имеют в своём арсенале такие дополнительные функции как пауза копирования, пропуск файлов и даже формирование списка файлов и отложенное копирование по ним. Поэтому выбирайте себе ту программу, которая Вам нравится больше всего и пользуйтесь на здоровье!
P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.
Манипуляции с различными файлами – это неотъемлемая часть рабочего процесса на каждом персональном компьютере. Пользователи перемещают, удаляют, копируют документы.
Процедура копирования предполагает выполнение переноса информации с одного места на другое. Это можно делать на одном устройстве или с одного аппарата на другой. В процессе работы на гаджетах с Windows и прочими системами копирование информации является неотъемлемой частью. Также с файлами производится еще много прочих манипуляций.
Хотя процедура является крайне простой в реализации, но при этом нередко у юзеров возникают трудности. Они проявляются в некорректном и медленном копировании. Причем, трудности касаются не только работы в отношении съемных накопителей, но и жесткого диска.
Принцип копирования данных всегда одинаковый для всех аппаратов. А вот методик ускорения проведения данной операции существует несколько. Можно попробовать изменить некоторые настройки, а также привлечь специализированные софты.
Факторы, влияющие на показатели скорости копирования
Процесс копирования представляет собой чтение битовой последовательности, производимое в отношении дискового накопителя в определённых его секторах. При этом далее производится запись данных, но уже в совсем другие сектора и прочие накопители.
В теории показатель скорости чтения и записи зависит непосредственно от того, на каком аппарате хранится информация. Однако в реальности на это влияет много различных факторов. Так что важны настройка BIOS, питание носителя, драйвера материнской платы, состояние операционной системы и прочее.
Если какой-то из этих показателей не в норме, то это негативно отразится на скоростных показателях работы ПК. Если пользователь длительное время работает с одним и тем же накопителем, то данный гаджет со временем начнет выходить из строя и его сектора будет сложно считывать.
Плохой контакт шлейфа передачи данных может провоцировать возникновение короткого замыкания, утрате размещенной на девайсе информации. При низком питании о работе устройства в полную мощность не может быть и речи.
Также не стоит забывать и о BIOS. Неполадки с SATA-контроллером так же не принесут каких-либо положительных моментов в управлении различными файлами. Пользователям просто необходимо проверить, чтобы данный контроллер был активирован именно в режиме AHCI.
Только при правильной установке всех важных параметров пользователи могут рассчитывать на то, что работа с документами и выполнение прочих манипуляций будет производиться корректно. В обязательном порядке проверяем наличие драйверов для чипсета.
Еще нужно проверить используемый режим передачи данных. Для этого следует вызвать диспетчер устройств. Затем нужно открыть раздел под названием «IDE ATA/ATAPI контроллеры». Далее нужно найти контроллер, который и обеспечивает нормальную работу винчестера.
Затем следует проверить установленный режим передачи данных в разделе с дополнительными параметрами. Важно, чтобы был установлен вариант DMA. Если указан иной вариант режима передачи, то удаляем это устройство и производим перезагрузку ПК.
Если указанные варианты, подразумевающие использование исключительно штатных средств, оказались не эффективными, то тогда нужно воспользоваться радикальным методом – переустановкой операционной системы.
Технология ускорения копирования
В некоторых случаях в ходе проверки всех факторов, которые влияют на копирование, оказывается, что они функционируют как положено. Однако копирование все же производится в медленном темпе. Тогда нужно более подробно рассмотреть именно принцип проведения копирования.
Работа в привычном режиме предполагает копирование информации в оперативную память небольшими блоками. После этого уже объект записывается в предварительно выбранное место. Если пользователь выполняет копирование небольших файлов, то проблем не возникает.
Однако при работе с документами большего размера зачастую может происходить замедление. В этом случае можно попробовать воспользоваться быстрым носителем информации для реализации кэширования.
Далее уже будет реализована запись объекта из собственной быстрой памяти используемого девайса. Процедура реализуется непрерывным потоком. Выполнить эту работу можно с использованием оперативной памяти компьютера. Данный элемент является универсальным и доступным для всех.
При проведении копирования в стандартном режиме данные могут передаваться посредством оперативной памяти. Информация переправляется при этом потоком мелких частей. Но можно будет в оперативную память предварительно поместить целый объект с информацией, что и приведет к существенному ускорению.
Такой принцип используют специализированные программные продукты. правильный алгоритм, задействованный утилитами позволяет производить копирование разных по размеру файлов в быстром режиме.
Использование программы TeraCopy. Методика ускорения копирования
Данное приложение более знакомо юзерам. Софт распространяется бесплатно, что уже является приятным бонусом. С официального ресурса разработчика утилиты можно будет скачать сервис с базовым функционалом.
Если вдруг пользователям предложенного набора возможностей не достаточно, то можно приобрести более функциональную версию – PRO. Однако все же в большинстве случаев вполне достаточно бесплатно распространяющегося приложения.
Есть возможность произвести установку как стационарной, так и портативной версии. Пользователю нужно определить с тем, с какой из предложенных версий будет более удобно работать. После завершения установки будет произведен запуск основного рабочего окошка.
Управление является понятным и простым во многом за счет наличия интерфейса на русском языке. Чтобы производить работу в этой программе, необходимо перетащить в её окно нужные файлы. Также в обязательном порядке потребуется указать конечную папку, в которой файлы будут размещаться.
По такому простому принципу производится работа в этой утилите. Причем, предлагается воспользоваться горячими клавишами, если пользователю таким образом гораздо удобнее производить перемещение и копирование данных.
Наряду со стандартными возможностями можно воспользоваться также дополнительными. Очень просто настроить программу, чтобы по окончании копирования было реализовано открытие дискового пространства с размещенным в нем диском с важной информацией.
Также можно настроить процесс выключения персонального компьютера. А еще возможно проведение тестирования на предмет целостности скопированных файлов. В общем, представлено множество интересных возможностей.
Данная утилита способна выполнять много полезных манипуляций. Среди встроенных функций удается активировать ту, которая помогает выполнять проигрывание звука в тот момент, когда копирование уже полностью завершено.
В этом приложении удается увеличить скорость, с которой производится копирование данных. Однако этот показатель все же нельзя считать наиболее высоким. Так что можно все же воспользоваться другими утилитами.
Программа Supercopier от немецких разработчиков
Данное приложение является помощником в сфере увеличения скорости копирования данных. Программу можно скачать в двух версиях. Первая является стационарной. Поэтому нужно первым делом ее скачать, а затем уже установить на стационарный ПК.
При выборе второй версии предлагается портативный вариант. Это значит, что скачанный файл с программой можно будет загрузить на любой съемный накопитель, а затем с него запускать для работы на нужном аппарате. Кроме бесплатной редакции также предлагается платная версия.
Некоторые пользователи отмечают то, что установленные антивирусные софты блокируют действия данной утилиты. Но это чаще касается именно портативной версии. Так что не нужно этого бояться. Лучше на время деактивировать работу софта-защитника.
Приступаем к знакомству с программой. Первым делом пользователь отмечает, что перед ним открывается рабочее окошко с частично русифицированным интерфейсом. Это немного напрягает, поскольку юзерам придется самостоятельно переводить многие слова в меню.
Но в остальном программа порадует. Плюсом является максимальная интеграция с операционной системой. Это проявляется в подмене штатной опции копирования. Утилита производит это по умолчанию. В этом и есть секретный механизм работы сервиса.
Но при этом предлагается оценить некоторые дополнительные возможности. Среди представленных функций стоит отметить наличие инструмента, который помогает в нужный момент приостановить ранее запущенный процесс копирования.
Также можно активировать опцию, предполагающую пропуск выявленных ошибок. Это позволит в итоге не останавливать процесс копирования. А еще представлена возможность экспортировать и импортировать те файлы, которые в дальнейшем планируется переместить.
В дополнение к этому возможно выполнить настройку режима буфера в ручном режиме. Если пользователь выбрал данную утилиту для копирования фотографий и картинок, то софт с этой задачей справляется мгновенно. Однако в отношении образа диска время копирования не является минимальным.
При работе со съемными накопителями удается довольно быстро производить копирование самой разной информации. Но при грамотном использовании потенциала данного программного обеспечения удается добиться лучших результатов. Так что не стоит игнорировать возможность настройки важных параметров.
Использование уникального алгоритма в FastCopy
Это приложение также является отличным помощником. Об этом заверяют разработчики утилиты. Объясняется быстрая работа сервиса использованием совершенно уникального алгоритма, по которому и производится важная операция копирования.
Нужно разобраться с возможностями софта. Для этого необходимо на практике оценить предложенный функционал, причем, совершенно бесплатный. Так что приступаем к загрузке данного приложения. Поставляется она в виде архива. Можно будет загрузить данный файл на любой накопитель.
Утилиту удается запускать в дальнейшем на разных устройствах. Производится регистрация приложения в операционной системе. После к контекстном меню сразу же появится пункт копирования. Это дает возможность очень быстро запустить данную опцию. При этом так же просто избавится от данного пункта из меню.
Далее пользователя ожидает неприятный сюрприз – наличие англоязычного интерфейса. Но при этом не стоит расстраиваться, поскольку разобраться с меню и функциями совсем несложно. Рабочий процесс довольно прост.
Первым делом пользователю необходимо будет выбрать исходную папку. Далее указываем папку, в которую и будет производиться непосредственно копирование данных. Если пользователю потребуется скопировать определенные файлы из указанной папки, то нужно выбрать кнопку фильтра.
В таком случае очень просто будет определить конкретные файлы, которые должны, как и прежде, размещаться. Они выбираются в исключения. Может быть данная методика управления не для всех является удобной, но все же она помогает быстро определить нужные и ненужные объекты.
В ходе произведенных манипуляций можно отметить, что утилита все же не демонстрирует заявленные разработчиками результаты. Но при этом все же некоторое ускорение отмечается. Так что юзерам предстоит решить, нужен такой помощник на ПК или можно поискать более качественный сервис.
Копирование с улучшением скорости благодаря ExtremeCopy
Теперь остается проверить на практике еще один программный продукт. Разработчики также заверяют о профессионализме и прочих достоинств данного сервиса. Но нужно на практике оценить утилиту, чтобы понять, насколько качественно она способна функционировать и какой результат в итоге будет обеспечен.
Каждый пользователь может установить этот сервис. Есть только в этом один нюанс для работы с финальной версией необходимо будет заплатить за нее. Но если пользователь желает работать только с бесплатным инструментом, то в таком случае можно выбрать одну из предыдущих версий.
Но эти версии лишены возможности задавать лимиты, а также многие прочие параметры. Поскольку проведение ручной настройки является невозможным, то и результат в итоге не может быть ожидаемо высоким.
Предложено две версии. Первая является стационарной и требует установки на компьютер. Для работы со вторым вариантом пользователи должны произвести загрузку программы на выбранный съемный накопитель. В дальнейшем флешку или диск можно подключать к любому аппарату, дабы реализовывать копирование различных файлов.
Трудности могут вызвать наличие исключительно англоязычного интерфейса. Но все же и с этим моментом можно разобраться. При этом предлагается воспользоваться некоторыми дополнительными функциями, которых совсем немного.
Процесс копирования выполняется в привычном формате. Скорость реализации данной процедуры отличается в отношении различных файлов. Картинки удается скопировать очень быстро. При этом работа с файлами и довольно крупными объектами не производится в быстром режиме, что огорчает юзеров.
Windows Vista
SP1 по многим параметрам улучшает оригинальную
Vista, в том числе в поддержке новых устройств,
управлении питанием, безопасности и стабильности работы. Первый сервис пак
должен выйти уже сегодня, так что до его полномасштабного внедрения остались
буквально часы. Одним из улучшений станет ускоренное копирование файлов в
разных обстоятельствах - в локальном копировании на одном диске, в копировании с
удаленных не-Vista систем, копировании между
SP1 компьютерами. Как же добились таких улучшений?
Ответ достаточно сложен и лежит в изменениях, которые претерпел механизм
копирования при переходе от Windows XP к
Vista и в дальнейших изменениях которым подвергся в
SP1. Каждый копирует файлы и я думаю будет очень
полезным рассмотреть развитие процесса копирования что бы в конце концов понять
как же он улучшен в первом сервис-паке.
Копирование
выглядит довольно простой операцией: открыть исходный файл, создать целевой и
прочитанное из исходного записать в целевой. В действительности же,
быстродействие копирования зависит от множества факторов, таких как
загруженность процессора, использовании памяти и передаваемых через систему
данных. И улучшения в одной область неизбежно приводят к упадку в другой. В
дополнении к этому, семантическая информация не доступна для процесса
копирования и не может помочь в создании оптимального процесса копирования.
Например, если бы он знал что вы не планируете использовать целевой файл, то
можно было бы избежать кэширования его в памяти, но в случае если бы файл был
немедленно использован другим приложением, или (как в случае файл-сервера)
клиентская система расшарила файл, то механизм копирования немедленно бы и
приоритетно закэшировал данные на целевой системе.
Сравнение
Неисправности, которые мы можем найти при копировании файлов или папок
Также может случиться так, что эти элементы, о которых мы говорим, при попытке изменить свое местоположение заняты другим процессом. Конечно, нужно иметь в виду, что Операционная система Windows сам обычно блокирует используемые файлы. Тем временем это не позволяет другим процессам или программам изменять их. Но, как мы уже говорили вам ранее, в случае необходимости, многие из этих ошибок, которые неожиданно возникают в Windows, имеют решение, как мы увидим.
Следует сказать, что большинство решений, о которых мы поговорим ниже для решения этой проблемы, связаны с программой, которая блокирует доступ к этим файлам.
Как мы уже упоминали, одна из основных причин, по которой может произойти этот досадный сбой, заключается в том, что Windows заблокировала этот контент. Конечно, проблема в том, что мы не знаем, как и почему они появились. В этот момент нам действительно нужно скопировать этот файл или эту папку в новое место без лишних слов. Поэтому изначально одним из самых быстрых и эффективных решений является перезагрузите компьютер , и попробуй еще раз.
Обычно это устраняет многие проблемы, возникающие в системе Redmond, но давайте посмотрим на другие решения, если ошибка не исчезнет.
Используйте средство устранения неполадок с файлами Microsoft
Еще одна очень интересная мера, которую мы можем использовать в этом случае, - это специальная программа, разработанная для этого типа задач. Фактически мы имеем в виду бесплатное приложение, которое мы можем скачать по этой ссылке и это принадлежит Microsoft себя.
После того, как мы запустили его в Windows, это Программное решение Самостоятельно отвечает за решение нескольких проблем с этими компонентами. Очевидно, что он также отвечает за помощь нам, если у нас возникают проблемы при копировании файлов или папок.
Закройте программы, использующие эти файлы.
Как мы уже упоминали, когда определенная программа или процесс использует файл, он блокируется Windows. То же самое может произойти, если эти элементы, которые мы хотим скопировать из одного места в другое, используются другим пользователем. Поэтому, чтобы окончательно завершить этот процесс, при котором файл или файлы открыты, лучше всего получить доступ к диспетчеру задач.
Мы можем войти в этот раздел, используя комбинацию клавиш Ctrl + Shift + Esc . Здесь открывается новое окно, состоящее из нескольких вкладок, но нас здесь интересует окно «Процессы». В нем мы увидим все системные процессы и программы, открытые в это время. Посмотрев и найдя то, что мы ищем, нам просто нужно щелкнуть правой кнопкой мыши по интересующей нас записи и выбрать опцию Готово.
Улучшения в копировании в Vista
Другой проблемой стало копирование с удаленной системы,
при котором содержание файла кэшировалось дважды - сначала при чтении исходного
файла, а потом при записи целевого. Помимо пустой траты памяти на файлы, которые
скорее всего никогда не будут использованы, работа Cache Manager перегружала
центральный процессор, который необходимо было использовать для управления
исходным и конечным файлами.
Во время той же сессии с нашим WindowsНа базе команды, как правило, прямо или косвенно мы имеем дело со многими файлами и папками. Будь то собственные элементы, программы или система, эти элементы являются основными для ПК. Следовательно ошибки при копировании файлов или папок может стать серьезной неудачей.
Как мы говорим, эти элементы могут рассматриваться как ключи на любом ПК, но они не освобождают от возможных сбоев в их обращении. Именно по этой причине иногда мы можем найти ошибки, связанные с файлами или папками, входящими в состав ПК. . Но, как это обычно бывает в Windows, многие из этих ошибок имеют решение, поэтому не стоит отчаиваться.
Что влияет на скорость копирования
Что есть копирование файла вообще? Это не что иное как чтение битовой последовательности в определённых секторах дискового накопителя с последующей их записью в другие сектора или на другой носитель. Теоретически скорость чтения и записи зависит только от самого устройства хранения информации: то есть, его заводских параметров быстродействия. Однако, на практике всё гораздо сложнее.
В реальных условиях нужно учитывать ещё ряд параметров:
- степень изношенности носителя;
- качество соединительных шлейфов передачи данных;
- качество питания носителя;
- правильные настройки BIOS;
- наличие драйверов материнской платы;
- установленный режим передачи данных;
- степень "захламлённости" Windows.
Всё вышеперечисленное вместе или по отдельности может сказываться на понижении скорости копирования данных. Например, чем дольше мы пользуемся носителем информации, тем большая вероятность того, что часть секторов в нём станут нечитаемыми, что будет тормозить любые файловые операции. Плохой контакт шлейфа передачи данных может приводить к коротким замыканиям и потерям информации, а недостаточное питание не даст устройству работать на полную мощность.
Проблема может скрываться и в BIOS. Практически все современные компьютеры имеют жёсткие диски, которыми управляет SATA-контроллер. В BIOS этот контроллер должен быть обязательно активирован ("Enabled") и работать в режиме "AHCI" (если, конечно, у Вас стоит современная ОС Windows 7 и выше):
Также озаботьтесь вопросом проверки наличия драйверов для чипсета. Если они не установлены, то южный мост Вашего ПК может некорректно работать на стандартных драйверах Windows, что вполне может приводить к проблемам в работе с носителями информации и USB-устройствами.
Если всё вышеперечисленное Вам не подошло, то ещё одним способом решить проблему медленного копирования штатными средствами может стать изменение режима передачи данных. Для этого вызовите Диспетчер устройств, откройте раздел "IDE ATA/ATAPI контроллеры", вызовите свойства того контроллера, который отвечает за работу Вашего жёсткого диска и проверьте во вкладке "Дополнительные параметры" установленный режим передачи данных. Должен быть "DMA, если доступно" и текущий режим ультра DMA 5:
Если стоит PIO и изменить его не выходит, то у Вас, скорее всего, произошёл сбой в системе. Попробовать его устранить можно, удалив устройство с режимом передачи PIO и перезагрузив компьютер. Если и это не поможет, то решиться проблема может только переустановкой Windows.
Последним вариантом ускорения копирования для владельцев Windows 7 и выше (правда, в "Десятке", вроде, этого уже нет) является отключение компонента "Удалённое разностное сжатие". Для этого зайдите в Панель управления, раздел "Программы и компоненты", нажмите внизу слева пункт "Включение или отключение компонентов Windows" и снимите соответствующую галочку:
Освободите место на диске, чтобы можно было копировать файлы
Очень распространенная ошибка в этих случаях заключается в том, что мы пытаемся скопировать определенный файл или полная папка на другой диск или в другое место, но без места. Это означает, что целевой диск заполнен, поэтому Windows сообщит нам об этом, запустив ошибку, указывающую на невозможность копирования этого содержимого. Поэтому в этом случае решение очень простое, нам просто нужно удалить программы или файлы из места назначения или выбрать другое.
Например, для безопасного и эффективного удаления программ в Панели управления есть функция, которая будет очень полезна. Его можно найти в разделе «Программы / Удаление программы».
Копирование в предыдущих Windows
В свете всех компромиссов и недостаточной информации,
механизм копирования в Windows пытается
предусмотреть все сценарии разом. До Windows Vista в
копировании прямо открывались исходный и конечный файлы в режиме кэширования и
последовательно из исходного файла данные читались блоками по 64 Кб (60 Кб в
случае сетевого копирования из-за ограничений, накладываемых протоколом
SMB1.0) за раз и
записывались в целевой по мере прихода. В случае когда доступ к файлу проходит
через кэшированные операции чтения/записи (в противоположность
memory-mapped операциям или операциям с флагом
отказа от буферизации), данные чтения или записи сохраняются в памяти, по
крайней мере до тех пор пока Memory Manager
не решит перераспределить память для других нужд, например на кэширование других
файлов.
Движок копирования полагается на
Windows Cache
Manager для осуществления асинхронного опережающего чтения, которое
позволяет читать исходный файл в фоновом режиме, пока
Explorer занят записью данных на другой диск или удаленную систему. Он
так же использует
опережающую запись Cache Manager для
своевременного сброса содержания файлов из памяти обратно на диск так что бы
память могла бы быть быстро освобождена в случае необходимости и потери данных
при системном сбое диска были бы минимальны. Посмотреть механизм за работой вы
можете в
Process Monitor, в данном случае приведена трассировка копирования 256 Кб
файла в Windows XP из одной директории в другую
(с фильтром на чтение и запись данных):
Первую операцию чтения Explorer (событие 0)
проводит с данными не присутствующими в памяти, что приводит к тому что
Cache Manager
выполняет некэшированное чтение/запись (в нем данные пишутся или читаются прямо
с диска, без кэширования в памяти), для извлечения данных с диска мы видим
событие 1, что видно по трассировке стека:
Видно, что обращение Explorer-а к
ReadFile приводит к чтению файла на 22 шаге в функции
BaseCopyStream и
Cache Manager косвенно задействует некэширумеое чтение
пытаясь использовать меппинг файла в памяти, что и вызывает сбой в 8 шаге.
Так как Explorer открывает файл с последовательным
доступом (что не видно в трассировке), поток опережающего
чтения Cache
Manager-а, запущенный в процессе System, начинает
активно читать файл в пользу Explorer-а в событии 2 и
3. Функцию опережающего чтения вы можете видеть в стеке для второго события:
Возможно вы заметили, что опережающее чтение идет не по тому порядку, который
был инициирован первым не кэшированным чтением. В теории это может замедлить
работу так как головкам винчестера надо будет осуществлять больше движений,
однако Explorer прекращает некэшированное чтение в том
момент когда доходит до данных уже прочтенных
Cache Manager и его чтение совпадает с данными,
уже находящимися в памяти. Обычно Cache
Manager опережает Explorer на 128 Кб в процессе
копирования.
В событии 4 в данном трейсе Explorer
встречается с первой записью и затем мы можем видеть последовательность
перемежающегося чтения и записи. В конце концов поток опережающей записи
Cache Manager-а, так
же запущенный в процессе System, сбрасывает последние
данные целевого файла из памяти на диск при помощи некэшированной записи.
Измените режим отображения в проводнике
Одно из возможных решений, которое мы можем использовать в этом отношении, - изменить предварительный просмотр на предварительный просмотр в Проводник . Скажем, этот режим отображения содержимого позволяет нам предварительно просматривать файлы в каталоге. Таким образом, в зависимости от их количества, проводнику может потребоваться время для его создания, особенно если мы открываем его нечасто.
Поэтому во время создания превью файлы блокируются системой, и если мы попытаемся скопировать их до завершения процесса, возникает ошибка. Очевидно, что для ее решения достаточно отключить режим предварительного просмотра. Это то, что мы можем сделать из Смотреть вкладки самого проводника, либо с помощью сочетания клавиш ALT + P.
Программы для ускорения копирования
TeraCopy
Наиболее знаменитой программой для ускорения копирования является TeraCopy:
На официальном сайте Вы можете скачать её бесплатную версию, которая обладает базовым функционалом, а затем (при желании) купить PRO-редакцию с дополнительными функциями. Однако. нас интересует только бесплатный софт, поэтому от покупок мы откажемся и попробуем поработать как есть.
При установке нам предложат поставить TeraCopy в обычном или портативном режиме, а также создать нужные ярлыки и ассоциировать с некоторыми файлами (лучше снять ассоциацию). После завершения установки запустится основное и единственное рабочее окно, которое, к счастью, имеет русскоязычный интерфейс.
Для копирования через программу Вам нужно перетащить в её окно нужные файлы и указать конечную папку, куда эти файлы требуется поместить. Кроме того, TeraCopy ассоциируется с Проводником и при перетаскивании или копировании горячими клавишами предлагает сделать это средствами программы.
Из дополнительных возможностей бесплатной версии стоит отметить возможность выполнения ряда действий по завершению копирования (выключение ПК, открытие дисковода, тестирование целостности скопированных файлов и т.п.). Также в опциях есть возможность активировать проигрывание звука по завершению задания, а также использование для работы кеша системы.
Что касается результатов, то на Windows 8.1 x64 они ненамного превзошли штатные, хотя, прирост есть. Так, в пределах жёсткого диска копирование 20 картинок (16 МБ) заняло 1,5 сек., а 3-гигабайтного образа – 1 мин. 48 сек. На флешку запись длилась 2,95 сек для изображений и 8 мин. 32 сек. для большого файла соответственно.
FastCopy
Следующей мы протестируем японскую программу, которая по заверениям разработчиков реализует самый быстрый алгоритм копирования файлов, – FastCopy:
Программа полностью бесплатна и имеет отдельную 64-битную версию. Поставляется она в виде архива с портативной программой и файлом setup.exe, который позволяет установить и зарегистрировать FastCopy в системе (добавится пункт копирования в контекстном меню) или же удалить все ассоциации.
К сожалению, язык интерфейса только английский, но не особо замороченный. Суть проста: нужно выбрать исходную папку ("Source") и конечную, в которую нужно копировать содержимое источника. Чтобы не копировались все файлы из указанной директории можно активировать фильтр ("Filter"), который позволяет задать маски включения и исключения (например, *.exe или Image*.*). Не совсем удобно, но пользоваться можно.
Касаемо результатов. Копирование мелких файлов в другую папку заняло 1,8 сек., а большой скопировался за 1 мин. 49 сек. Копирование же на флешку завершилось с результатами 3,8 сек. для картинок и 9 мин. 12 сек. для образа. Как видим, несмотря на заверения разработчиков, результаты не самые лучшие, но есть.
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:
Самая актуальная версия программы является платной, однако, предыдущие её редакции можно скачать и использовать бесплатно. Правда, в них нет возможности настраивать вручную заданные лимиты буферов и иные параметры, но она работает и так весьма неплохо. Есть возможность скачать 64-битную и портативную (правда ещё более раннюю) версии.
ExtremeCopy хорошо интегрируется в систему, правда, не имеет русского языка. Дополнительным функционалом программа тоже не блещет: есть только возможность паузы копирования и пропуска файлов.
Что же касается скорости копирования, то мелкие картинки в новую папку скопировались ровно за секунду, а большой файл за 1 мин. 48 сек. Для флешки результаты такие: 3 секунды для "мелочи" и 9 мин. 13 сек. для образа.
Технология ускорения копирования
А теперь представим, что всё у нас работает как надо, но копирование всё равно медленное. Почему? Здесь всё упирается в принцип копирования. В штатном режиме оно происходит по следующей схеме: в оперативную или кеш-память считывается небольшой блок информации, а затем записывается в нужное место (новый блок на жёстком диске или на съёмном носителе) и далее по циклу.
Для небольших файлов такая схема прямого копирования вполне приемлема, но для больших может вызывать замедление. Можно ли как-нибудь ускорить их копирование? Теоретически, да! Для этого нужно использовать какой-либо быстрый носитель информации, который будет кешировать сразу весь файл (или хотя бы его большую часть) и записывать из собственной быстрой памяти непрерывным потоком.
Одним из наиболее универсальных и доступных устройств подобного рода в компьютере является оперативная память. При стандартном копировании данные тоже могут передаваться через неё, но в виде потока мелких кластеров информации. Если же предварительно считать и поместить в неё целиком весь файл, то мы сможем получить существенное ускорение при его записи в непрерывном виде! Именно такой подход реализуют существующие программы для оптимизации копирования, которые я и предлагаю рассмотреть (кстати, подобные алгоритмы начали использоваться в Windows, начиная с "Восьмёрки", но они ещё далеки от идеала).
Перед установкой я решил провести контрольный замер. Было взято 20 небольших (200 – 800 КБ) файлов-изображений общим размером 16 мегабайт и один большой ISO-образ на 3 ГБ. Время копирования в пределах одного раздела жёсткого диска составило 2 сек. для картинок и 2 мин. 3 сек. для большого файла. На флешку (средняя скорость записи – 5 МБ/сек) запись длилась 3,4 сек. и 9 мин. 35 сек. соответственно. Попробуем теперь копировать со специальными утилитами и сравним разницу.
Просканируйте свой компьютер на вирусы
Если ничего из того, что мы обсуждали до сих пор, не работает, возможно, проблема исходит из другого источника, а не из системы как таковой. И всегда есть вероятность, что есть вредоносная программа на компьютере, который блокирует те файлы и папки, которые мы хотим копия . Поэтому при необходимости никогда не помешает провести полную проверку компьютера с помощью Защитника Windows или любого другого стороннего антивируса.
Это гарантирует, что мы работаем с командой, свободной от всех типов вредоносных программ, которые могут нарушить работу самой системы. И дело в том, что современные вредоносные коды могут атаковать практически любой компонент Windows, как это и имеет место.
Читайте также: