Сортировка по смешанным файлам с соответствующим именем в имени файла - PullRequest
0 голосов
/ 25 января 2019

Я обработал более 10 000 mp4 в гифки, у них есть «категория» в заголовках из пакета, который я использовал ранее, потому что существует около 1000 категорий (то есть 1000 папок), и мое программное обеспечение может обрабатывать только одну папку за раз,поэтому я пакетно переименовал их с их родительской папкой (чтобы я мог отсортировать их позже) и поместил их в «материнскую» папку.Все они имеют случайно сгенерированные буквы + заголовки + категории в своих именах.Ни категории, ни фактическое имя файла не имеют одинакового количества букв (в случае необходимости), имена папок и файлов всегда начинаются с «reddit_sub_CATEGORY».У категорий всегда есть строчные буквы, без цифр или специальных символов.

пример файлов (их более 10 000)

d:\motherfolder\reddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
d:\motherfolder\reddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
d:\motherfolder\reddit_sub_randommemes_023093x23_uploadedtitle.gif
d:\motherfolder\reddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif
d:\motherfolder\reddit_sub_ and over 9001 more

Папки (более 1000)

d:\sortedfolders\reddit_sub_funnycatswithdog\
d:\sortedfolders\reddit_sub_funnydogs\
d:\sortedfolders\reddit_sub_randommemes\
d:\sortedfolders\reddit_sub_imoutofrandomnames\
d:\sortedfolders\reddit_sub_ and over 999 more

Я перепробовал все скрипты, которые смог найти, потратил много часов, пытаясь заставить их работать безрезультатно.

Я фактически потерял работу из-за плохой партии, которую сделал случайно, но у меня есть партияЭто сделало это возможным ... может быть, это можно обойти, чтобы сделать обратное.

Обновление - не могу найти это !!Это было что-то вроде

ECho off
rem Enter into Root Folder
cd /d %~dp0
cd d:\rip\mp4\mothermp4
rem Process each SUB folder
for /D %%u in (*) do (
   rem Enter into the SUB folder
   cd "%%u"
   rem Process each Project
   for %%p in (*) do (
      rem Move all files one level up
      move *.* ..
      rem Go back one level up to root folder

   )
   cd ..
)

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

Я ожидаю, что в папки будут ВСЕ соответствующие файлы отсортированы в них.(без копии, если это возможно, это около 150 ГБ!)

например;

d:\sortedfolders\reddit_sub_funnycatswithdog\reddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
d:\sortedfolders\reddit_sub_funnydogs_fdsljdsd9s\reddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
d:\sortedfolders\reddit_sub_randommemes\reddit_sub_randommemes_023093x23_uploadedtitle.gif
d:\sortedfolders\reddit_sub_imoutofrandomnames\reddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif 

обновленный запрос --- одновременное удаление «reddit_sub_category_» в имени файла

d:\sortedfolders\reddit_sub_funnycatswithdog\83j331_cutecattries-to_eatdog.gif
d:\sortedfolders\reddit_sub_funnydogs_fdsljdsd9s\fdsljdsd9s_kiotdawg_123.gif
d:\sortedfolders\reddit_sub_randommemes\023093x23_uploadedtitle.gif
d:\sortedfolders\reddit_sub_imoutofrandomnames\92382j38du8yu_socute.gif 

1 Ответ

0 голосов
/ 26 января 2019

Дерево работает до

> tree D:\ /F
D:\
├───motherfolder
│       reddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
│       reddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
│       reddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif
│       reddit_sub_randommemes_023093x23_uploadedtitle.gif
│
└───sortedfolders
    ├───reddit_sub_funnycatswithdog
    ├───reddit_sub_funnydogs
    ├───reddit_sub_imoutofrandomnames
    └───reddit_sub_randommemes

Эта партия

:: Q:\Test\2019\01\25\SO_54372309.cmd
@Echo off
Set "FileBase=D:\motherfolder"
Set "FolderBase=D:\sortedfolders"
for /d %%A in (%FolderBase%\*) Do Move "%FileBase%\%%~nA*" "%%A\"

и после:

> tree /F D:\
D:\
├───motherfolder
└───sortedfolders
    ├───reddit_sub_funnycatswithdog
    │       reddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
    │
    ├───reddit_sub_funnydogs
    │       reddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
    │
    ├───reddit_sub_imoutofrandomnames
    │       reddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif
    │
    └───reddit_sub_randommemes
            reddit_sub_randommemes_023093x23_uploadedtitle.gif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...