前情提要
楼主一直是win系统拿来玩pt,家里有winserver一直开机。
这两天发现(๐•ᴗ•๐)有rss新番,就心血来潮想弄一个自动更新番剧到jellyfin上面,但是问题来了,jellyfin自己的刮削数据是存在安装目录,所以我一直是用的tmm手动刮削。虽然rss新番搞定了自动下载,但是tmm的客户端是没有自动刮削的功能,然后我就想到了使用windows批处理文件来完成定时刮削
批处理代码
这边直接给出我的代码,需要修改几个地方,下面细说
@echo off
se(๐•ᴗ•๐)ocal enabledelayedexpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
set Var01=0
for /l %%a in (0,0,1) do (
cd /d D:\Common_software\tinyMediaManager
tinyMediaManagerCMD.exe tvshow -u -n
set /A Var01=Var01+1
call :ColorText 2F "这是第 !Var01! 次更新。"
timeout /T 5
echo.
echo.
)
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
(1)需要修改tmm安装(๐•ᴗ•๐)径,在第二个for循环中的cd /d 后面,改成你的tmm安装(๐•ᴗ•๐)径
(2)关键内容就是tmm的执行指令,也就是tinyMediaManagerCMD.exe tvshow -u -n
这一行,下面给出官方文档
这是官方说明文档提供的命令行参数,给的参数例子是 tinyMediaManagerCMD.exe tvshow -u -n -r
,如果正在做种的话,请不要使用-r命令,会重命名文件导致qbit找不到文件。
此外,如果不只是要刮削电视剧,还需要刮削电影库,可以在下面再加一行,即将“tvshow”换成“movie”
tinyMediaManagerCMD.exe movie -u -n
(3)接下来就是 timeout /T 5
这一行,这是用来确定自动更新时间的,以秒为单位,这里是5就是每5秒做一次自动刮削
运行截图
由于楼主文件数比较多,扫起来会比较慢
注意事项
(1)如果运行批处理文件出现“这是第xxx次更新。”是乱码,请另存为文件,把编码格式改成ANSI
(2)tmm版本在5.0以下时需要关闭GUI,不然无法读取log文件会报错,在版本大于5.0时可以和GUI共存
(3)如果tmm连接不上tmdb的api接口,也会更新失败
(4)也是最蛋疼的一点,我在折腾完之后,发现(๐•ᴗ•๐)的rss新番,所有番居然都放在一个目录里面,我明明记得以前不同番都是独立文件夹啊,每次新番更新都是同名文件夹不同文件名,怎么少了一层目录?最后还是白搞,还是要有一部分手动操作😭