HARDIK Joshi Ответов: 1

Каталог копии системы для флешки (через USB 2.0 устройства), используя C# код


Я переношу один каталог из системы на pendrive (обычное USB-устройство 2.0) с помощью Microsoft.VisualBasic.FileIO.файловая система.Класс CopyDirectory, но это занимает слишком много времени для передачи каталога.
Размер каталога составляет 12 ГБ или некоторое время больше, чем 12 ГБ.

Каталог 12 ГБ занимает время 2 часа.

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

Дайте мне знать, если есть какое-либо другое решение, чтобы сделать более быструю копию с помощью C#

Примечание :
1. клиент не хочет использовать устройство USB 3.0 pendrive.
2. Клиент не хочет использовать какое-либо специальное оборудование для более быстрого копирования.

Заранее благодарю вас

Что я уже пробовал:

Я уже пробовал следующие решения

1. Команда xcopy в командной Propmpt с помощью класса process
2. Команда силовая оболочка с командной питания Shell Propmpt с помощью класса process
3. Метод CopyToAsync класса задач (Threading) (Progressbar или Seek не работает из-за асинхронного типа копирования)
4. Параллельный цикл foreach в C#

1 Ответов

Рейтинг:
1

OriginalGriff

Нет никакого метода "быстрого копирования", который гарантировал бы значительное улучшение скорости передачи, вы почти наверняка ограничены тремя факторами:
1) скорость передачи данных по USB - это будет зависеть от версии USB как для порта на компьютере, так и для версии USB в флешке - самая низкая версия из двух управляет скоростью USB. USB1 имел максимальную скорость передачи данных 12 Мбит в секунду, или около 1,2 Мбит в секунду; USB 2 взял ее максимум до 480 Мбит в секунду - но вы можете не достичь этого максимума или даже приблизиться к нему в зависимости от качества вашего комплекта и драйверов.
2) Скорость записи перьевого накопителя: я видел некоторые старые / более дешевые, которые изо всех сил стараются не отставать от USB1!
3) размер файлов: более мелкие файлы будут передаваться дольше (и, вероятно, займут больше места), чем тот же nGB меньшего количества больших файлов.

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