Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20

Копирование файлов из одной папки в разные

04.03.2020, 15:57. Показов 2988. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Я с помощью макросов в SolidWorks создал несколько конфигураций одного изделия.
Каждая деталь лежит в своей папке.
Например:
Папка "Траверса" содержит в себе файлы Траверса.400, Траверса.500, ... Траверса.2200
Папка "Полка" содержит в себе файлы Полка.400х400, Полка.400х500, ... Полка.400х1000, Полка.2200х400, Полка.2200х500, ... Полка 2200х1000

Задача разложить детали по папкам с изделиями.

Папка "Полка 400х400" должна содержать в себе папку "Лист 0,8" с файлом "Полка 400х400" и папку "Лист 0,5" с файлом "Траверса.400".

Папка "Полка 400х500" должна содержать в себе папку "Лист 0,8" с файлом "Полка 400х500" и папку "Лист 0,5" с файлом "Траверса.400".

Папка "Полка 2200х1000" должна содержать в себе папку "Лист 0,8" с файлом "Полка 2200х1000" и папку "Лист 0,5" с файлом "Траверса.2200".

Возможно ли такое сделать?
Заранее благодарю за ответы.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2020, 15:57
Ответы с готовыми решениями:

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот это) - Копирование всех файлов с...

Копирование файлов в разные папки
Имеется у нас скачанный: avto.bat который находиться у меня к примеру в одной папке с readme.txt c:\batnik\avto.bat ...

Копирование файлов из одной папки в другую, но с пропуском одинаковых файлов в этих папках
Доброго времени суток. Прошу помощи в написании батника. Задача: Есть папка А с файлами 1,2,3 и папка Б с этими же файлами 1,2 и 3. ...

28
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 16:58
Добрый день! У меня ряд вопросов:
1) Данная процедура единоразовая или должна проходить периодически?
2)
Цитата Сообщение от A_Derkach Посмотреть сообщение
создал несколько конфигураций одного изделия.
Сколько конфигураций изделия должно быть?
3)
Цитата Сообщение от A_Derkach Посмотреть сообщение
Задача разложить детали по папкам с изделиями
Папки с изделиями уже созданы или в процессе перемещения файлов их нужно создать?
1
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 17:57  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
1) Данная процедура единоразовая или должна проходить периодически?
Хотелось бы использовать такой скрипт и с другими изделиями.
Различия будут только в именах файлов. Т. е. они будут называться "Стенка", "Пластина" и иметь имена конфигурации после точки. Деталь.ai x bi. Либо Деталь.ai. Либо Деталь.bi.

Храниться они будут так же в папке с названием изделия. Изделие.ai x bi, которая будет содержать подкаталоги с указанием толщины листа.

Цитата Сообщение от Karen87 Посмотреть сообщение
Сколько конфигураций изделия должно быть?
В данном изделии конфигурации с шагом 100 мм. От 400х400, до 2200х1000.
Т. е.
400х400, 400х500, ..., 400х1000;
500х400, 500х500, ..., 500х1000;
...
2200х400, 2200х500, ..., 2200х1000.

В принципе, габариты при работе с другими изделиями не могут превышать 3000, что ограничено геом. размерами листового металла и технологическими возможностями нашего оборудования.

Цитата Сообщение от Karen87 Посмотреть сообщение
Папки с изделиями уже созданы или в процессе перемещения файлов их нужно создать?
Папки еще не созданы.

Добавлено через 19 минут
Цитата Сообщение от Karen87 Посмотреть сообщение
Данная процедура единоразовая или должна проходить периодически?
Сейчас подумал, если этот скрипт получится универсальным, то я могу поступать следующим образом:
Папки с деталями называть Лист 0,8.Полка
Это будет условием, что детали из этой папки нужно копировать в папку "Лист 0,8".

И еще при универсальности такого скрипта будет возможна ситуация, что в папке "Лист 0,8" будет лежать несколько деталей.
т. е.
Цитата Сообщение от Karen87 Посмотреть сообщение
Папки с изделиями уже созданы или в процессе перемещения файлов их нужно создать?
папку нужно создать, но если она уже существует, то положить туда файл.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 18:13
Вы знаете, по-моему, имеет место быть небольшое противоречие. Если Вы обратите внимание на Ваш первый пост, то из него следует, что деталь и изделие "полка" равнозначны. В моем понимании изделие состоит из деталей и эти два объекта должны иметь разные названия. Давайте все-таки определимся с названиями изделий и списка деталей, из которых они состоят
1
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 18:23  [ТС]
Karen87, извините за неточное ТЗ.
Название детали и изделия не всегда совпадает. Это может быть "полка", состоящая собственно из полки и траверсы, а может быть "тумба", состоящая из столешницы, стенок, панелей, фальшпанелей, полок и т. д.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 18:32
Хорошо. Значит на данный момент Вы хотите автоматизировать перемещение файлов по изделию "Полка (размер)" в одноименную папку, в которой обязательно должна быть папка "Лист 0,8" с вложенным в нее файлом "Полка (размер)" и папка "Лист 0,5" с вложенным в нее файлом "Траверса.(размер первого измерения). Я правильно Вас понял?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
04.03.2020, 18:33
A_Derkach, а зачем плодить номерные отличия по всему пути
Цитата Сообщение от A_Derkach Посмотреть сообщение
Папка "Полка 400х400" должна содержать в себе папку "Лист 0,8" с файлом "Полка 400х400" и папку "Лист 0,5" с файлом "Траверса.400"
если достаточно обозначить родительские папки и тогда внутри папки и файлы будут иметь одинаковые названия, но разное содержимое и принадлежность
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
C:\ПОЛКА
├───1000x400
│   └───Лист
│       ├───0,5
│       │       Траверса.txt
│       │       
│       └───0,8
│               Полка.txt
│               
├───400x400
│   └───Лист
│       ├───0,5
│       │       Траверса.txt
│       │       
│       └───0,8
│               Полка.txt
│               
├───400x500
│   └───Лист
│       ├───0,5
│       │       Траверса.txt
│       │       
│       └───0,8
│               Полка.txt
│               
└───500x400
    └───Лист
        ├───0,5
        │       Траверса.txt
        │       
        └───0,8
                Полка.txt
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 18:35  [ТС]
Karen87, да, все правильно)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 18:37
Будьте добры, напишите расширение файлов на всякий случай
1
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 18:43  [ТС]
alpap, я бы и не против не плодить отличий, но SolidWorks создаёт мне файлы типа: "ИмяДетали.конфигурация". Т. е. я на входе имею файл Полка.400х400.
Вложенность Полка/400х400/лист/0.5 можно использовать, но не вижу смысла менять имя файла при копировании

Добавлено через 36 секунд
Karen87, расширение *.dxf
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 18:45
Ну и пока последний вопрос. Исходные файлы оставлять или перемещать?
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 18:59  [ТС]
Karen87, можно удалить по завершению цикла. Потому что один файл может использоваться несколько раз. В данном случае траверса.500 будет использоваться и в полке 500х400 и в полке 500х500 ... и в полке 500х1000.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.03.2020, 19:07
Я Вас услышал. Если сегодня будет время, то займусь, если нет, то завтра

Добавлено через 52 секунды
Возможно кто-то из пользователей будет проворнее и предоставит решение, но я в любом случае предложу свой вариант
1
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 19:13  [ТС]
Karen87, Благодарю) мне не срочно)
Я по мере надобности копирую нужные конфигурации ручками)
А сегодня начал гуглить как пакетно создать папки, и набрёл на этот раздел форума. Оказалось, что существует решение не только для создания папок)
0
6993 / 2879 / 1108
Регистрация: 06.06.2017
Сообщений: 9,774
04.03.2020, 20:01
A_Derkach, если умеете писать макросы на солиде, то зачем вам батники при наличии VBScript?
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
04.03.2020, 20:16  [ТС]
FlasherX, я не умею) только пользуюсь готовыми)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
05.03.2020, 14:43
Итак, продолжим. Решение я вижу таким:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
setlocal enabledelayedexpansion
set "source1=Путь до папки Полка"
set "source2=Путь до папки Траверса"
for /f %%a in ('dir %source1% /A-d/B') do (
    set name_folder=%%a
    set name_folder=!name_folder:~0,-4!
    if not exist !name_folder! (
        mkdir "!name_folder!\Лист 0,8"
        mkdir "!name_folder!\Лист 0,5"
)
xcopy "!source1!\%%a" "!name_folder!\Лист 0,8"
)
for /d %%a in (*) do (
        if /I not %%a==Полка if /I not %%a==Траверса (
            echo %%a>>temp.txt
        )
)
for /f "tokens=1,2 delims=x" %%a in (temp.txt) do (
    xcopy "!source2!\Траверса.%%a*" "%%ax%%b\Лист 0,5" /Y
)
del temp.txt
pause
Условия корректной работы:
1) Батник я написал в Notepad++ в кодировке OEM 866
2) Запускать его нужно в каталоге, в котором находятся папки "Полка" и "Траверса"
3) Рекомендую пробелы в путях убрать
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
05.03.2020, 15:03  [ТС]
Karen87,

Путь до папки Полка
Путь до папки Траверса

имеется ввиду Полный путь? После знака равенства писать "D:\Work\Полки"?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
05.03.2020, 15:20
Верно

Добавлено через 6 минут
Только давайте всё-таки определимся с точным названием папок. Полки или Полка?

Добавлено через 4 минуты
Цитата Сообщение от A_Derkach Посмотреть сообщение
имеется ввиду Полный путь? После знака равенства писать "D:\Work\Полки"?
Стоп. Пишете так:
Windows Batch file
1
set "source1=D:\Work\Полки"
1
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 20
05.03.2020, 15:31  [ТС]
Karen87,

В папке D:\Test есть два каталога.
"Полка" с вложенными файлами "Полка.400x500.DXF" и т. д.
"Траверса" с вложенными файлами "Траверса.400.DXF" и т. д.

Результат выполнения: созданы каталоги с именем изделия, в них создались подкаталоги "Лист 0,5" и "Лист 0,8", но они пустые
Миниатюры
Копирование файлов из одной папки в разные  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2020, 15:31
Помогаю со студенческими работами здесь

Копирование из одной папки в другую случайных неповторяющихся файлов
дорогие форумчане, необходимо создать батник, который копирует из папки с файлами (более 1000 штук) 255 случайных неповторяющихся файлов....

Копирование файлов заданного типа с помощью команды copy из одной папки в другую
Вариант 3 Создайте командный файл копирования файлов заданного типа (с помощью ко- манды copy) из одной папки в другую. В качестве...

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот это) - Копирование всех файлов с...

Копирование файлов из одной папки в другую
Привет форумчане нужна помощь. Нужен скрипт который будет копировать с одной папки в другую При этом перед тем как скопировать...

Копирование файлов из одной папки в другую
Добрый день! Нашел на форуме хорошую функцию копирования файлов из одной папки в другую. Но там жестко прописан путь откуда и куда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru