BoD*_*003 26 scripting-language batch-file
我在SO上看到了一些脚本示例,但它们似乎都没有提供如何从.txt列表中读取文件名的示例.
这个例子很好,以便将所有文件从A文件复制到B文件夹
xcopy c:\olddir\*.java c:\newdir /D /E /Q /Y
Run Code Online (Sandbox Code Playgroud)
但我需要像下一个,我可以填写实际的源和目标文件夹:
@echo off
set src_folder = c:\whatever\*.*
set dst_folder = c:\foo
xcopy /S/E/U %src_folder% %dst_folder%
Run Code Online (Sandbox Code Playgroud)
而不是src_folder = c:\whatever\*.*,那些*.*需要是从txt文件读取的文件列表.
File-list.txt(示例)
file1.pds
filex.pbd
blah1.xls
Run Code Online (Sandbox Code Playgroud)
有人可以建议我怎么做吗?
Fra*_*ack 39
给定您调用的文件中的文件名列表File-list.txt,以下行应该执行您想要的操作:
@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%"
)
Run Code Online (Sandbox Code Playgroud)
小智 20
我只是尝试使用Frank Bollack和sparrowt的答案,但没有成功,因为它包含了用于xcopy的/ U开关.我的理解是/ U意味着只有在目的地中已经存在文件时才会复制这些文件,这对我来说并非如此,并且对于原始提问者来说似乎不是这样.它可能意味着是一个用于验证的/ V,这将更有意义.
卸下/ U开关解决了问题.
@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%"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69136 次 |
| 最近记录: |