2017-02-27 169 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 

資源(必讀):

相關問題