我有两个文本文件... files.txt
包含文件名列表,dirs.txt
包含文件需要复制到的目录列表。
这就是文件需要复制的方式:
File 1 ------------------------> Folder 1
File 2 ------------------------> Folder 2
File 3 ------------------------> Folder 3
如何使用批处理实现此目的?提前谢谢......
答案 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]%%"
这绝对不是最好的解决方案......但它确实有用! 谢谢大家的帮助。