Задать вопрос
@passstrada

BAT, Как копировать файлы с папками по полным путям?

Первое: скопировать папку со всеми файлами и папками "C:\Data" в папку "C:\papka1"

Второе: есть список файлов и папок с путями которые расположены в "C:\DATA":
spoiler

C:\Data\3d\Maps\28_rock_rc\SpeedTree\palms\images\palm_trunk.dx11.dds.dvpl
C:\Data\3d\Maps\28_rock_rc\stones\images\karelia_tiletex_blue.dx11.dds.dvpl
C:\Data\3d\Maps\28_rock_rc\stones\images\karelia_tiletex_blue.tex.dvpl
C:\Data\3d\Maps\29_skit_sk\work
C:\Data\3d\Maps\29_skit_sk\work\images
C:\Data\3d\Maps\29_skit_sk\work\images\yamato_01.dx11.dds.dvpl
C:\Data\3d\Maps\29_skit_sk\work\images\yamato_01.tex.dvpl
C:\Data\3d\Maps\29_skit_sk\work\images\yamato_02.dx11.dds.dvpl
C:\Data\3d\Maps\29_skit_sk\work\images\yamato_02.tex.dvpl
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\bld_metlife.dx11.dds.dvpl
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\bld_tower_plant.dx11.dds.dvpl
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\build_1.dx11.dds.html
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\build_2.dx11.dds.txt
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\build_3.dx11.dds.gif
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\build_4.dx11.dds.dvpl
C:\Data\3d\Maps\34_forgecity_fc\buildings\images\chrysler_building.dx11.dds.dvpl
C:\Data\3d\Maps\34_forgecity_fc\landscape\grass\forgecity_GrassMap.dx11.dds.dvpl
C:\Data\3d\Maps\hangar_prem_2018_birthday_6
C:\Data\3d\Maps\hangar_prem_2018_birthday_6\birthday_5

Эти файлы вмесите с папками (тоисть не терять структур папок (пусть они и указаны в списке)), их нужно скопировать по пути "C:\papka2"
Этот список можно использовать, как и в сам батник, или как отсылку на .txt файл.
+ В списке около 5000 строк файлов и папок и по этому, желательно получить в командной строке что например (19 из 19 строчек скопировано), если не все строчки, показать какие.

P.S. Раньше проводил копирование файлов батником который находит новые файлы не старше 24 часов, и оставлял новые файлы в папке "orig":
spoiler
@echo off
set src=C:\orig
set dst=C:\bk
robocopy "%src%" "%dst%" /minage:1 /copyall /move /e
pause

Но не всегда все файлы копировались.
Сейчас же появились пути к файлам и я хочу копировать по каждому файлу, для лучшего отслеживания файлов.
  • Вопрос задан
  • 15302 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@passstrada Автор вопроса
Решение:
Первое:
xcopy "C:\Data" "C:\papka1" /e /h /k /q /r /c /y
Второе:
@echo off
for /f "delims= eol=" %%f in ('type list.txt') do (
if exist "%%f\" (
robocopy "%%~dpf\" "C:\papka2%%~pf\" /xf * /e /njh /njs /v /log+:log.txt
) else ( robocopy "%%~dpf\" "C:\papka2%%~pf\" /fp /njh /njs /ns /nc /v /log+:log.txt "%%~nxf" )
)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Смотрите команду xcopy /?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы