В обход дизайна Windows Copy - PullRequest
       21

В обход дизайна Windows Copy

1 голос
/ 25 декабря 2010

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

Мне было интересно, есть ли способ перехватить прямое копирование Windows с помощью программы, чтобы сделать это по-моему. Основная схема будет заключаться в том, что при получении копии (фактически для того, чтобы это было эффективным, группа различных копий), программа объединит все отдельные копии в один поток копий.

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

EDIT

На данный момент давайте предположим, что я копирую с полностью дефрагментированного внешнего диска (потому что я был). Давайте также предположим, что я копирую диск на 99% дефрагментированный (потому что я был). Если я попытаюсь переместить каждый файл сразу, то метод копирования Windows прекрасно работает, так как ему требуется только потоковая передача непрерывного файла с одного диска на другой (вероятно, сохраняя непрерывность копии). Это в основном лучший случай, мне нужно все оттуда, чтобы переехать сюда. Таким образом, метод copy получает файлы в некотором алгоритмически логическом порядке (обычно по имени файла) и читает, а затем записывает данные в новое место.

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

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

Ответы [ 2 ]

0 голосов
/ 25 декабря 2010

Это, вероятно, то, что вы ищете

обнаружить операцию копирования Проводника Windows

Вам необходимо создать расширение оболочки в соответствии с этим сообщением.

0 голосов
/ 25 декабря 2010

Единственный способ, которым вы можете перехватить - это FileSystemWatcher.

...