在文件名中使用适当的文件夹名对混合文件进行排序



我已经将超过10000 mp4处理成gif,它们的"类别"在我之前使用的一个批次的标题中,因为大约有1000个类别(因此有1000个文件夹),而我的软件一次只能处理一个文件夹,所以我用它们的父文件夹批量重命名了它们(这样我以后可以对它们进行排序),并将它们放在"母"文件夹中。他们的名字中都随机生成了字母+标题+类别。类别或实际文件名的字母数量都不相同(如果相关)文件夹和文件名始终以"reddit_sub_CATEGORY"开头。类别总是全部小写,没有数字或特殊字符。

文件示例(有超过10000个)

d:motherfolderreddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
d:motherfolderreddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
d:motherfolderreddit_sub_randommemes_023093x23_uploadedtitle.gif
d:motherfolderreddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif
d:motherfolderreddit_sub_ and over 9001 more

文件夹(超过1000个)

d:sortedfoldersreddit_sub_funnycatswithdog
d:sortedfoldersreddit_sub_funnydogs
d:sortedfoldersreddit_sub_randommemes
d:sortedfoldersreddit_sub_imoutofrandomnames
d:sortedfoldersreddit_sub_ and over 999 more

我试过了我能找到的所有剧本,花了很多小时试图让它们发挥作用,但都无济于事。

事实上,由于我不小心做了一批不好的作品,我失去了这项工作,但我确实有让这件事发生的那批作品。。也许可以反过来做。

更新-找不到!!这是一种类似的东西

ECho off
rem Enter into Root Folder
cd /d %~dp0
cd d:ripmp4mothermp4
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 ..
)

这是我在这个网站上找到的,并根据我的需要进行了修改。但我只能找到这个不起作用的版本。这个甚至还没有重命名

我希望文件夹将所有合适的文件都排序到其中。(如果可能的话,没有副本,大约150gb!)

例如;

d:sortedfoldersreddit_sub_funnycatswithdogreddit_sub_funnycatswithdog_983j331_cutecattries-to_eatdog.gif
d:sortedfoldersreddit_sub_funnydogs_fdsljdsd9sreddit_sub_funnydogs_fdsljdsd9s_kiotdawg_123.gif
d:sortedfoldersreddit_sub_randommemesreddit_sub_randommemes_023093x23_uploadedtitle.gif
d:sortedfoldersreddit_sub_imoutofrandomnamesreddit_sub_imoutofrandomnames_92382j38du8yu_socute.gif 

更新的请求---同时删除文件名中的"reddit_sub_category_">

d:sortedfoldersreddit_sub_funnycatswithdog83j331_cutecattries-to_eatdog.gif
d:sortedfoldersreddit_sub_funnydogs_fdsljdsd9sfdsljdsd9s_kiotdawg_123.gif
d:sortedfoldersreddit_sub_randommemes23093x23_uploadedtitle.gif
d:sortedfoldersreddit_sub_imoutofrandomnames92382j38du8yu_socute.gif 

之前运行的树

> 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:Test2019125SO_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

最新更新