Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - копирования файлов из исходной папки в папки получатели согласно txt.файлу

Ответить
Настройки темы
CMD/BAT - копирования файлов из исходной папки в папки получатели согласно txt.файлу

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте коллеги! Помогите решить задачку. Есть папка исходник с файлами (например D:\DXF\... ). С этой папки надо скопировать файлы согласно списку указаному в txt-файле. Файлы копируются не все, а только те что указаны в txt-файле. Список файлов в txt-файле указан с полными путями в таком формате (D:\Output\D60\LBD6003U0.dxf, D:\Output\D60\D45\LXD6003U0.dxf ... ). Буду глубоко признателен, если кто-то что-то подскажет.

Отправлено: 15:41, 12-06-2020

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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, полностью равны за исключением имени родительской папки? Или надо будет воссоздавать пути (папки) указанные в списке.

Последний раз редактировалось alpap, 12-06-2020 в 17:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:14, 12-06-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1176
Благодарности: 491

Профиль | Отправить PM | Цитировать


Цитата 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

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 12-06-2020 в 18:01.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:56, 12-06-2020 | #3


Ветеран


Contributor


Сообщения: 2715
Благодарности: 1688

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 12-06-2020 в 18:35.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:07, 12-06-2020 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - копирования файлов из исходной папки в папки получатели согласно txt.файлу

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - копирование файлов из одной папки в другую cmd файлом через txt файл Marina_Egorova Скриптовые языки администрирования Windows 1 15-03-2018 22:36
CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media" ufooo000 Скриптовые языки администрирования Windows 5 20-07-2017 20:58
Доступ - Расшаренные папки в локальной сети. Запрет копирования файлов/папки? VasRM Microsoft Windows 7 4 21-12-2013 18:06
CMD/BAT - [решено] Поиск файла, перемещение, удаление исходной папки cmd\bat KitsuNeko Скриптовые языки администрирования Windows 5 08-04-2013 18:21
CMD/BAT - батник для копирования файлов из папки на FTP zigmund11 Скриптовые языки администрирования Windows 1 28-02-2013 17:37




 
Переход