Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
415 views
in Technique[技术] by (71.8m points)

scripting language - Copy a list (txt) of files

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:
ewdir /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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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:arget
for /f "tokens=*" %%i in (File-list.txt) DO (
    xcopy /S/E "%src_folder%\%%i" "%dst_folder%"
)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...