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

Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам

02.03.2021, 03:14. Показов 7361. Ответов 76

Студворк — интернет-сервис помощи студентам
У меня есть папка с большом количеством вложенных папок. В каждой папке лежит по четыре файла (в каждой папке у файлов одинаковые имена), из них мне нужен только один файл, с названием 1 copy.png.
Нужно сделать батник, который будет копировать в отдельную папку всю корневую систему и сам файл 1 copy.png, который будет переименовывать и складывать все файлы в зависимости от их корневой папки

Условно говоря, как это выглядит сейчас:
D:/Fast mockups / Prepared / Папки по темам (Допустим фильмы, сериалы, комиксы) / Для каждой папки по теме есть еще одни папки (Допустим, для фильмов это Marvel, DC, Звездные войны и тд по каждой теме) / В каждой папке про Marvel, DC и тд есть папки с рандомными числами (11, 234, 2123) / В каждой папке 4 файла, один из которых нужный мне 1 copy.png

Что требуется:
В папку "D:/Fast mockups / Prepared / For print" должны скинуться все файлы 1 copy.png, в виде папок "* / For print / Все папки тем (Фильмы, сериалы, комиксы) / Каждая папка по определенной теме (Marvel, DC) / каждый файл 1 copy.png из вложенных далее в оригинале папок, только переименованный в Marvel_1 для папки по марвел, в DC_1 для папки по DC и тд."

И еще важная часть... (если её вообще возможно реализовать)

Надо сделать список путей к каждому файлу (в идеале это должен быть txt-файл, который будет лежать в папках по темам (фильмы, сериалы и тд), а в него будут записываться пути до каждого файла во всех вложенных папках...

Понимаю, что прошу слишком многого, а возможно еще и убого объясняю, но мне и правда нужна ваша помощь...
Может кто-нибудь помочь решить данный вопрос?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2021, 03:14
Ответы с готовыми решениями:

Как поменять пути к папкам AndroidStudio?
Android Studio, всё работает, проблем нет. Только в папке "Мои документы" создались андроидные папки .AndroidStudio .android ...

Раскладчик файлов (сохраненных по определенной маске) по нужным папкам
Добрый день. Есть раскладчик, который писался под определенную задачу, но его необходимо слегка переделать. Суть: мы имеем много...

Копирование писем из Outlook по нужным папкам базы Access
Всем здоровья ! Помогите с примером новичку. Нужно рассортировать почту с копированием письма по нужным папкам. Приходят письма ...

76
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 20:58
Студворк — интернет-сервис помощи студентам
В любую нейтральную
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 21:16  [ТС]
Программа отработала как часы, только с одной папкой почему-то были проблемы, с ней не сработало
Для папки RE вылезла ошибка, прилагаю отчёт
Миниатюры
Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам   Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам   Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  

Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 21:21
Цитата Сообщение от ArtMastex Посмотреть сообщение
Для папки RE вылезла ошибка, прилагаю отчёт
Не скопировались файлы?
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 21:23  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
В чём ошибка? Я не вижу
Красный текст в консоли, и файл 1 copy.png не скопировался в for print, хотя папка и тхт файл создались без проблем
Миниатюры
Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 21:25
Всю структуру папки RE покажите
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 21:30  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
Всю структуру папки RE покажите
Вот
Миниатюры
Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам   Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам   Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  

0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 21:37
ArtMastex, проблема только с ней? Если есть возможность смоделируйте ситуацию, при которой присутствует только она в каталоге игры
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 21:49  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
проблема только с ней?
Да, только с ней

Цитата Сообщение от Karen87 Посмотреть сообщение
Если есть возможность смоделируйте ситуацию, при которой присутствует только она в каталоге игры
Оставил её одну, попробовал снова, попробовал переименовать папку с номером, папку Resident Evil, всё равно не получилось. Странно...
Миниатюры
Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 21:52
ArtMastex, скрипт в какой кодировке сохранили?
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 21:55  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
скрипт в какой кодировке сохранили?
В OEM-866 через Notepad++, как вы и сказали
Это не критичная ошибка, если одна папка не сработала, тем более видно, какая именно
Можно и ручками поправить
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 22:26
Пробуйте с учётом уже находящихся файлов в подкаталогах for print:
Windows Batch file
1
2
@powershell -executionpolicy bypass -command "$array=(Get-ChildItem 'D:\Fast mockups\Prepared\*\*\' -directory).FullName; foreach ($a in $array) {$b=(Get-ChildItem $a -file -recurse -Include '1 copy.png').FullName; if ($b) {(Get-ChildItem $a -file -recurse -Include '*.png').FullName | out-file """$a\$(split-path $a -Leaf)_пути.txt"""; if (Test-Path """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""") {[int]$((get-childitem """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""" -file).count+1)..[int]$((get-childitem """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""" -file).count+$($b.Count)) | ForEach-Object -Begin {$c=$b.count} {Copy-Item """$($b[[int]$($c-=1)])""" """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_).png"""}} else {New-Item -ItemType directory """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)"""; 0..$($b.Count-1) | ForEach-Object {Copy-Item """$($b[$_])""" """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_+1).png"""}}}}"
pause
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
02.03.2021, 23:46  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
Пробуйте с учётом уже находящихся файлов в подкаталогах for print:
Вылезает вот такая вот ошибка
Миниатюры
Как вытащить нужные файлы и их пути из большого каталога и упорядочить по нужным папкам  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
02.03.2021, 23:54
ArtMastex, скрипт вообще не отрабатывает?

Добавлено через 6 минут
Искать причину этой ошибки можно долго. Если есть возможность, то предоставьте удаленный доступ
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
03.03.2021, 00:03  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
ArtMastex, скрипт вообще не отрабатывает?
Да, не работает
Цитата Сообщение от Karen87 Посмотреть сообщение
Искать причину этой ошибки можно долго. Если есть возможность, то предоставьте удаленный доступ
Можем связаться через TeamViewer?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
03.03.2021, 00:07
ArtMastex, пишите в личку данные ддя подключения
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
03.03.2021, 01:50  [ТС]
PowerShell
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
$c=$null
$array=(Get-ChildItem 'D:\Fast mockups\Prepared\*\*\' -directory -Exclude 'for print').FullName
foreach ($a in $array) {
    $b=@((Get-ChildItem $a -file -recurse -Include '1 copy.png').FullName)
    if ($b) {
        (Get-ChildItem $a -file -recurse -Include '*.png').FullName | out-file "$a\$(split-path $a -Leaf)_пути.txt"
        #work
        if (Test-Path "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)") {
            
            
            
            
            
            
            
            
            
            
            
            
            [int]$((get-childitem "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)" -file).count+1)..[int]$((get-childitem "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)" -file).count+$($b.Count)) | ForEach-Object -Begin {$c=$b.count} {Copy-Item "$($b[[int]$($c-=1)])" "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_).png"}
       
        } else {
            New-Item -ItemType directory "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)"
            0..$($b.Count-1) | ForEach-Object {Copy-Item "$($b[$_])" "D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_+1).png"}
        }
 
    }
}
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
03.03.2021, 02:01  [ТС]
Вот архив
Вложения
Тип файла: rar Task.rar (6.27 Мб, 3 просмотров)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
03.03.2021, 09:10
Пробуем:
Windows Batch file
1
2
@powershell -executionpolicy bypass -command "$array=@((Get-ChildItem 'D:\Fast mockups\Prepared\*\' -directory -Exclude 'for print').FullName); foreach ($a in $array) {$b=@((Get-ChildItem $a -file -recurse -Include '1 copy.png').FullName); if ($b) {(Get-ChildItem $a -file -recurse -Include '*.png').FullName | out-file """$a\$(split-path $a -Leaf)_пути.txt"""; if (Test-Path """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""") {[int]$((get-childitem """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""" -file).count+1)..[int]$((get-childitem """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)""" -file).count+$($b.Count)) | ForEach-Object -Begin {$c=$b.count} {Copy-Item """$($b[[int]$($c-=1)])""" """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_).png"""}} else {New-Item -ItemType directory """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)"""; 0..$($b.Count-1) | ForEach-Object {Copy-Item """$($b[$_])""" """D:\Fast mockups\Prepared\for print\$(split-path $(split-path $a -Parent) -Leaf)\$(split-path $a -Leaf)\$(split-path $a -Leaf)_$($_+1).png"""}}}}"
pause
0
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 119
03.03.2021, 17:28  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
Пробуем:
Это работает!!! Извините, что долго не отвечал...
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
03.03.2021, 17:29
ArtMastex, ну и замечательно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2021, 17:29

Как из Excel вытащить нужные строки и вставить в форму
Доброго времени суток. Было поставлено задание написать именно на WPF небольшую программку. Сам я только начал разбираться в WPF, читаю...

Как вытащить код Каталога Товара
Добрый день, прошу мне помочь, не могу вытащить скрипт каталога товара на сайте Не Спам

Как разбить текстовый файл с переменной на файлы с нужным количеством строк?
Всем доброго времени суток! Столкнулся с такой задачей, нужно автоматизировать процесс: 1) Выгружается файл с переменной частью...

Как добиться загрузки редактора VB6 с нужным расположением окна и с нужным модулем?
Где-то находил решение, но давно да и было не нужно. Сейчас при переходе на работу в Win 10 окно редактора VB6 загружается где-то в боку...

Как сгруппировать XML файлы по папкам?
При создании приложения получилось много XML файлов, в основном все файлы View элементов например - пункт списка, layout файлы, файлы...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru