Os gargalos aqui serão o sistema de arquivos e o próprio disco rígido. Com muitos arquivos pequenos, o FS está constantemente lendo metadados sobre os arquivos que podem ser separados no arquivo, ou os arquivos que você está lendo podem não estar em um clump contíguo no disco. Em ambos os casos, o cabeçote da unidade precisa se mover muito .
Quanto mais rápido você colocar todos esses arquivos pequenos em arquivos maiores, mais rápido será o seu processo geral.
Infelizmente, se tudo o que você está fazendo é copiar esses arquivos uma vez, tê-los em um único arquivo grande como um arquivo só tornará o processo mais lento.
leia todos os arquivos > arquivo > local de backup
VS
leia todos os arquivos > local de backup
As maneiras ideais seriam copiar todos os arquivos uma vez para um local secundário e usar as datas e tamanhos modificados, ou o bit de arquivo, já que você está usando o Windows (e não o exame de conteúdo como hashes, que ainda envolveria lendo os arquivos) para determinar quais arquivos foram alterados, e copie apenas aqueles para o local secundário e faça o backup de lá. Ou usar um sistema que contorne o FS, como uma cópia RAW como o poige sugeriu.