3

У меня есть текстовый файл со списком имен файлов

c:\superawesome\lame.mp3
c:\noyoucant\wujuu.mp3
d:\bottle\water.obj

И я хочу скопировать одну и ту же файловую структуру в другое место (e:\backup). Получившаяся структура будет выглядеть так

e:\backup\superawesome\lame.mp3
e:\backup\noyoucant\wujuu.mp3
e:\backup\bottle\water.obj

Резервная копия - пустая папка. Я пытался использовать copy c:\superawesome\lame.mp3 e:\backup\superawesome\lame.mp3 и то же самое с помощью xcopy

Как я могу скопировать список файлов и сохранить исходную структуру папок?

2 ответа2

2
@echo off
    setlocal enableextensions disabledelayedexpansion 

    set "target=e:\backup"

    for /f "usebackq delims=" %%a in ("TextFile.txt") do (
        md "%target%%%~pa" 2>nul
        copy /y "%%a" "%target%%%~pa"
    )

Для каждой строки (файла) в списке создайте в целевой папке один и тот же путь, указанный в прочитанной строке (%%~pa - это путь элемента, на который ссылается %%a). Затем скопируйте прочитанный файл в целевую папку

0

Попробуйте это с командным файлом:

for /f "delims=" %%a in (TextFile.txt) do call :BeginCopy "%%a"
goto :end

:BeginCopy

set SrcFolder=%~1
set DestFolder=%SrcFolder:~7,-1%
echo %DestFolder%
xcopy /s /e /i /h /r /y %SrcFolder%  "e:\backup\%DestFolder%" 

goto :end

Для дальнейшего чтения посетите: Xcopy

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .