2017-02-27 152 views
1

我有包含我需要上传的文件,当然文件路径的文本文件:复制文件和文件夹包含从文本文件

F:\文件夹\子\ file.ext

我能找到一个将所有文件放入目标文件夹的脚本,但似乎无法修改它将其包含在其包含的文件夹中。我尝试了脚本I found here,但它似乎没有工作或抛出任何错误,而且我太绿了,无法花几个小时教导自己。希望有人能帮助我修改我用

@Echo Off 
cls 
set dest=C:\filestoupload 
set i=1 
for /f %%f in (imfcheckmassaged.txt) do (
    for /f "tokens=*" %%F in ('dir /S /B /A:-D "%%f"') Do (
     xcopy /S/E "%%F" "%dest%" 
    ) 
) 
+0

只是说一个说明,使用子目录选项,**'/ S' **到'dir'和d'xcopy'似乎适得其反。使用一个或另一个。 – Compo

回答

0
@Echo Off 
cls 
set "dest=C:\filestoupload" 
set "i=1" 

rem take all non-empty lines from file `imfcheckmassaged.txt` 
rem  for instance `F:\Folder\Sub\file.ext` 
for /f "tokens=*" %%f in (imfcheckmassaged.txt) do (

    rem find `file.ext` in the folder `F:\Folder\Sub\` 
    rem     (and all occurrences in its subdirectories, note /S switch) 
    rem     for instance `F:\Folder\Sub\file.ext` 
    rem       and `F:\Folder\Sub\Sub2\file.ext` 
    rem       and `F:\Folder\Sub\Sub2\Sub3\file.ext` 
    for /f "tokens=*" %%F in ('dir /S /B /A:-D "%%~f" 2^>NUL') Do (

     rem copy them into the ˙%dest%˙ folder including folder structure 
     xcopy "%%~F" "%dest%\%~pF" 
    ) 
) 

上面的代码片段会导致到下面的脚本 (根据rem评论给出的例子)(完整路径)的文件结构:

C:\filestoupload\Folder\Sub\file.ext 
C:\filestoupload\Folder\Sub\Sub2\file.ext 
C:\filestoupload\Folder\Sub\Sub2\Sub3\file.ext 

资源(必读):

相关问题