Script em lote para copiar arquivos listados no arquivo de texto de uma pasta e suas subpastas para um novo local

Eu gostaria que um arquivo em lotes copiasse todos os arquivos listados em um arquivo de texto de um destino para outro. O destino de origem pode ter várias subpastas e eu gostaria que o lote pesquisasse cada subpasta pelo nome do arquivo.

Não quero copiar as próprias pastas, apenas os arquivos.

Eu tenho o código a seguir, mas ele não reconhece o (% file_list%)

set src=c:\files\sourcefolder\
set dst=c:\files\destinationfolder\
set file_list=c:\\files\files.txt

for /r "%src%" %%i in (%file_list%) do copy "%%i" "%dst%" >notcopied.txt

Também quero que o arquivo grave um arquivo de texto chamado 'notcopied.txt', para que eu possa ver se algum arquivo necessário não estava na pasta de origem. Eu quero esse arquivo gravado na pasta de destino.

Por exemplo:

files.txt contains
File1.pdf
File2.pdf
File3.pdf

pasta de origem contém

File1.pdf
File2.pdf

notcopied.txt mostrará

File3.pdf

Obrigado por qualquer insight.

questionAnswers(1)

yourAnswerToTheQuestion