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