Eu tentei usar algo como:
xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt
Mas me perguntaria se era um arquivo ou diretório. Desde que eu tinha que em um arquivo de lote com 40000 arquivos, seria impraticável. Esta solução apenas resolve parcialmente o meu problema: ela cria a estrutura de diretórios, mas requer interação do usuário.
Eu encontrei a solução para o meu problema aqui:
link
Que é basicamente para adicionar um "*" no final do arquivo de destino:
xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt*
EDIT: como apontado por @romkyns, pode ter resultados indesejados se você tiver arquivos que tenham o mesmo nome e alguma outra coisa (como 'file.txt.bak'). No mesmo tópico postado acima, outra solução que funciona é canalizar "echo f" para o seu comando:
echo f | xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt
Onde você deve substituir o "f" por qualquer letra que seu sistema use para o arquivo, caso você o esteja usando em outro idioma.