首页 > 解决方案 > 从子文件夹中的文件列表批量复制文件

问题描述

我正在尝试将特定文件从列表“filelist.txt”复制到目标文件夹。使用下面提供的代码,我只能从特定的源文件夹执行此操作,并且只有文本文件中的文件名(与完整路径相比)。我想从主文件夹中的子文件夹复制文件。如果我已经在文本文件中复制了需要复制的文件的完整路径,我该怎么做?

这是我拥有的代码的开头(根据此处提供的代码构建):

代码

@ECHO ON

SET FileList=G:\filelist.txt
SET Source=G:\fold1
SET Destination=G:\Copy1

FOR /F "USEBACKQ TOKENS=*" %%F IN ("%FileList%") DO XCOPY /F /Y "%Source%\%%~F" "%Destination%\"

GOTO :EOF

标签: filebatch-filecopy

解决方案


它适用于我的情况

@echo off
set filelist=filelist.txt
set source=StackOverFlow
set destination=copyl

:work
for %%i in (%filelist%) do set filename=%%~nxi
copy /y %filelist% %tmp%
set "filelist=%tmp%\%filename%"
set "filel=%tmp%\file"

:data
set data=con
set /p data=<%filelist%
more +1 "%filelist%" > "%filel%"
del /q /f %filelist%
ren %filel% %filename%
if not exist "%Source%\%data%" goto exitx
copy "%Source%\%Data%" "%Destination%"
goto data

:exitx
del /q /f %filelist%
del /q /f %filel%
cls
echo Operation Complete!
pause
exit

文件列表.txt 示例

test.txt
text.bat
test.cmd
biltudas1.md

推荐阅读