Одновременное копирование файлов из нескольких источников в несколько мест назначения

#c# #.net #batch-file #vbscript

#c# #.net #пакетный файл #vbscript

Вопрос:

Я написал код для копирования всех файлов в каталоге с использованием c # в конкретное местоположение.Я вызываю этот exe-файл, используя .bat-файл для этого процесса.

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

Есть ли какой-либо способ скопировать файлы через файл .bat или с помощью скрипта или даже с использованием технологии .net из нескольких источников в несколько мест назначения?

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

Пожалуйста, помогите мне сделать это возможным.

Комментарии:

1. Что вы подразумеваете под «одновременно» — вы хотите создать многопоточное приложение?

2. Вы уверены, что вам действительно нужно копировать их параллельно? Если эти файлы находятся на разных устройствах, в этом есть какой-то смысл, но, если они находятся на одном диске (неважно, на жестком диске, SDD, flash …), Тогда общее время копирования будет даже больше, чем по одному из-за постоянного переключения между задачами — большинствоустройства хранения не предназначены для эффективной обработки случайных операций записи и чтения.

3. Отправляйте каждую команду копирования в свой собственный процесс. Смотрите Start /? .

Ответ №1:

Создайте class вызываемый CopyThread , который наследует от Thread class . Добавьте source и destination присоедините к ним вместе с установщиками. При создании CopyThread объекта убедитесь, что вы установили его source destination значения и . Когда вы запускаете поток, он должен скопировать все файлы из source в destination .

Ответ №2:

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