В Linux (например, Mac OS X) это довольно просто с помощью сценария оболочки.
Предполагая, что ваши USB-накопители (и только USB-накопители) подключены в /media
, вы можете использовать простой цикл for:
for device in /media/*; do
// copy instructions here
// e.g., cp file "$device"
done
Если у вас есть 10 USB-слотов, это позволит вам обрабатывать 10 дисков одновременно.
Вышеуказанный цикл for будет копировать файлы последовательно, то есть обрабатывать первую флешку, а затем начинать со второй. Если вам нужно скопировать большой объем данных, вы также можете копировать файлы параллельно:
unset PIDS
for device in /media/*; do
// a single copy instruction here
// e.g., cp file1 file2 file 3 "$device" &
done
wait
Амперсанд после команды копирования заставляет его выполняться в фоновом режиме, т. Е. Остальная часть цикла for выполняется немедленно. Команда wait
задерживает выполнение сценария до завершения всех фоновых процессов.