the1812 / Bilibili-Evolved

强大的哔哩哔哩增强脚本
Other
23.42k stars 1.6k forks source link

建议做个批量重命名脚本 #1392

Open weakestan opened 3 years ago

weakestan commented 3 years ago

批量下载后,由于idm导入任务无法设置重命名,建议1个批量任务创建1个重命名的cmd放在一起。 更方便。

weakestan commented 3 years ago

主要是需要文件名和分集之间的对应关系列表,有这个列表,各类自动化处理也方便些。

ChuangYu1897 commented 3 years ago

+10086 同感,导出IDM文件使用IDM下载之后显示的全是数字(稿件号?)如果是文件很多的话手动重命名很费劲,强烈建议添加

Lichtmann commented 3 years ago

我写了个Bat,实现了基本流程: 同一目录下有"批量链接.ef2"和"ffmpeg-files.txt", 将ef2文件(拖动)传递给bat, bat按顺序调用IDM命令行添加下载任务. 存在一个问题:ffmpeg-files.txt中的字符串被Bat读取后会乱码,导致文件命名也会乱码.

@ echo off setlocal EnableDelayedExpansion

Set ef2=%~1 ::同目录下ffmpeg-files.txt Set filenamelist=ffmpeg-files.txt Set files=%~dp1%filenamelist% Set ef2Namelist=%~dp1ef2Namelist.ls ::按顺序获取http链接 set i=0 for /F %%l in (%ef2%) do ( set R=%%l if "!R:~0,4!" == "http" ( set /A i+=1 set a[!i!]=%%l ) ) ::按顺序获取文件名 set i=0 for /F "tokens=3 delims=-,'" %%f in (%files%) do ( set /A i+=1 set b[!i!]=%%f ) ::命令行调用IDM Set idm=C:\SoftwareVideo\IDM6.31.3绿色版\IDMan.exe @echo on for /L %%i in (1,1,%i%) do ( echo !a[%%i]!;!b[%%i]! >> %ef2Namelist% %idm% /d !a[%%i]! /p %~dp1 /f !b[%%i]! /a )

endlocal pause

Lichtmann commented 3 years ago

另外我借助了Open with++来实现右键"ef2文件"弹出菜单栏来任何地方调用写好的bat Screenshot 2021-01-15 022215