Copy a list (txt) of files

BoDiE2003 picture BoDiE2003 · Jun 6, 2011 · Viewed 78.8k times · Source

I've seen some scripts examples over SO, but none of them seems to provide examples of how to read filenames from a .txt list.

This example is good, so as to copy all files from A to B folder

xcopy c:\olddir\*.java c:\newdir /D /E /Q /Y

But I need something like the next, where I can fill actually the source and destination folder:

 @echo off
 set src_folder = c:\whatever\*.*
 set dst_folder = c:\foo
 xcopy /S/E/U %src_folder% %dst_folder%

And instead of src_folder = c:\whatever\*.*, those *.* need to be list of files read from a txt file.

File-list.txt (example)

file1.pds
filex.pbd
blah1.xls

Could someone suggest me how to do it?

Answer

Frank Bollack picture Frank Bollack · Jun 6, 2011

Given your list of file names in a file called File-list.txt, the following lines should do what you want:

@echo off
set src_folder=c:\whatever
set dst_folder=c:\target
for /f "tokens=*" %%i in (File-list.txt) DO (
    xcopy /S/E "%src_folder%\%%i" "%dst_folder%"
)