копирования файлов из исходной папки в папки получатели согласно txt.файлу
Здравствуйте коллеги! Помогите решить задачку. Есть папка исходник с файлами (например D:\DXF\... ). С этой папки надо скопировать файлы согласно списку указаному в txt-файле. Файлы копируются не все, а только те что указаны в txt-файле. Список файлов в txt-файле указан с полными путями в таком формате (D:\Output\D60\LBD6003U0.dxf, D:\Output\D60\D45\LXD6003U0.dxf ... ). Буду глубоко признателен, если кто-то что-то подскажет.
|
Код:
@echo off
set "d1=D:\DXF"
set "d2=D:\OUT"
for /f "delims=" %%a in ('dir /a-d/b/s "%d1%"^|findstr /lg:"spisok.txt"') do >nul copy /y "%%a" "%d2%"
pause
только сейчас заметил как в списке указано, я делал для таких путей в списке:
D:\DXF\file1.ext
D:\DXF\fileN.ext
------
надо будет переделать позже и есть сразу вопрос какая в таком случае структура D:\DXF по отношению к D:\OUT, полностью равны за исключением имени родительской папки? Или надо будет воссоздавать пути (папки) указанные в списке.
|
Цитата:
Цитата sevan_k
Список файлов в txt-файле указан с полными путями в таком формате (D:\Output\D60\LBD6003U0.dxf, D:\Output\D60\D45\LXD6003U0.dxf ... ) »
|
powershell
Код:
$file = '.\test.txt'
$dst = 'd:\destination'
gi ((gc $file -raw) -split '\s*,\s*|\s*\n\s*'|?{$_ -ne ''})|copy -d $dst
|
Код:
@Echo Off
Set "BoxIn=D:\DXF"
Set "TxtFile=D:\DXF\TxtFile.txt"
FOR /F "usebackq delims=" %%f IN ("%TxtFile%") DO 1>nul 2>&1 Xcopy /D /F "%BoxIn%\%%~nxf" "%%~dpf"
Как я понимаю задачу
Цитата:
Цитата Пример содержимого файла D:\DXF\TxtFile.txt
D:\Output\D60\LBD6003U0.dxf
D:\Output\D60\D45\LXD6003U0.dxf
D:\Output\D60\LBD6003U1.dxf
D:\Output\D60\D45\LXD6003U1.dxf
D:\Output\D60\LBD6003U2.dxf
D:\Output\D60\D45\LXD6003U2.dxf
D:\Output\D61\LBD6003U3.dxf
D:\Output\D61\D45\LXD6003U3.dxf
D:\Output\D61\LBD6003U3.dxf
D:\Output\D61\D45\LXD6003U3.dxf
D:\Output\D61\LBD6003U3.dxf
D:\Output\D61\D45\LXD6003U3.dxf
D:\Output\D61\LBD6003U0.dxf
D:\Output\D61\D45\LXD6003U0.dxf
D:\Output\D61\LBD6003U1.dxf
D:\Output\D61\D45\LXD6003U1.dxf
D:\Output\D61\LBD6003U2.dxf
D:\Output\D61\D45\LXD6003U2.dxf
|
Цитата:
Цитата Содержимое папки D:\DXF
D:\DXF\LBD6003U0.dxf
D:\DXF\LBD6003U1.dxf
D:\DXF\LBD6003U2.dxf
D:\DXF\LXD6003U0.dxf
D:\DXF\LXD6003U1.dxf
D:\DXF\LXD6003U2.dxf
D:\DXF\TxtFile.txt
|
Единственное я оттелепатил, что надо копировать только более новые файлы ( /D в Xcopy)
|
Время: 04:36.
© OSzone.net 2001-