Secuencia de comandos por lotes para copiar archivos enumerados en un archivo de texto desde una carpeta y sus subcarpetas a una nueva ubicación
Me gustaría que un archivo por lotes copie todos los archivos enumerados en un archivo de texto de un destino a otro. El destino de origen puede tener múltiples subcarpetas y me gustaría que el lote busque el nombre del archivo en cada subcarpeta.
No quiero copiar las carpetas, solo los archivos.
Tengo el siguiente código pero no reconoce el (% 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
También quiero que el archivo escriba un archivo de texto llamado 'notcopied.txt' para poder ver si alguno de los archivos necesarios no estaba en la carpeta de origen. Quiero ese archivo escrito en la carpeta de destino.
Por ejemplo:
files.txt contains
File1.pdf
File2.pdf
File3.pdf
carpeta de origen contiene
File1.pdf
File2.pdf
notcopied.txt luego mostrará
File3.pdf
Gracias por cualquier idea.