将文件从文件列表批量复制到文件夹列表

时间:2014-02-24 08:00:31

标签: batch-file cmd

我有两个文本文件... files.txt包含文件名列表,dirs.txt包含文件需要复制到的目录列表。
这就是文件需要复制的方式:

File 1 ------------------------> Folder 1  
File 2 ------------------------> Folder 2  
File 3 ------------------------> Folder 3  

如何使用批处理实现此目的?提前谢谢......

2 个答案:

答案 0 :(得分:1)

试试这个:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (files.txt) do (
set /p dir=
echo copy "%%~a" "!dir!"
)<dirs.txt
pause

以上作品--Mona可以修改或删除以下内容:

setlocal enabledelayedexpansion
3<dirs.txt(
for /f "delims=" %%a in (files.txt) do (
set /p dir=<&3
copy "%%~a" "!dir!"
)
)

这应该做你想要的。请注意,如果dirs.txt的行数少于files.txt,则会失败。

莫纳。

答案 1 :(得分:0)

好吧,我设法弄明白了......感谢来自@foxidrive的this回答。这是代码:

@echo off
setlocal enabledelayedexpansion
set /A i=0
for /F "usebackq delims==" %%a in (files.txt) do (
set /A i+=1
call set array1[%%i%%]=%%a
call set n=%%i%%
)
set /A i=0
for /F "usebackq delims==" %%a in (dirs.txt) do (
set /A i+=1
call set array2[%%i%%]=%%a
)

for /L %%i in (1,1,%n%) do call copy "%%array1[%%i]%%" "%%array2[%%i]%%"

这绝对不是最好的解决方案......但它确实有用! 谢谢大家的帮助。