MCEBuddy在源驱动器不可用时删除已转换的文件

MCEBuddy 版本:2.7.1

操作系统: Windows 10 IoT Enterprise LTSC 2021 x64

问题概述: 当启用“同步已转换文件”且无法访问源目录时,MCEBuddy 会删除所有对应的已转换文件。更具体地说,当 MCEBuddy 执行文件扫描时,它会检查历史文件。对于其中列出的每一个位于已不存在挂载点的“原始文件”,它会删除对应的“已转换文件”。问题在于,源文件所在的驱动器不可访问,不应被理解为用户故意移除了该驱动器及其所有受监控文件。

复现步骤: 在“设置 → 常规设置”中启用“同步已转换文件”。在第二个非启动驱动器上添加一个监控位置,并添加一个转换任务,将其转换并复制到第三个驱动器或网络位置。将视频文件添加到监控位置并等待其转换。关闭电脑,断开带有监控位置的驱动器。启动电脑。观察 MCEBuddy 服务是否删除了该文件的已转换副本。

替代步骤(未测试):无需关闭电脑并断开驱动器,而是运行 diskmgmt.msc,直接移除驱动器盘符分配,然后在 MCEBuddy 中点击“扫描”。

建议: 我希望更改此行为,在判断文件是否不再存在之前,先检查源是否存在。历史文件中似乎没有为每个转换任务存储实际的已配置监控位置,因此您可能只能检查驱动器本身是否存在。对我而言,这已经足够。例如,如果源文件是“F:\Media\!Mirrored\!Home-Global\TV Series\My Series\S01E01 - Belly Button Madness.mkv”,在尝试“同步”/删除任何内容之前,先检查“F:\”是否存在。同样适用于 UNC 路径,如“\\myserver\mediashare\”中的“\\myserver\mediashare\TV Series\My Series\S01E01 - Belly Button Madness.mkv”。


在测试另一个驱动器时,我启动了我的电脑,运行 MCEBuddy 时未连接源媒体驱动器。MCEBuddy 删除了我的网络媒体共享中超过 10,000 个已转换的视频文件,这些文件都记录在历史文件中。我不会备份已转换文件,因为它们可以重新生成,但重新转换所有这些文件将需要数周时间。我曾考虑过硬件故障可能导致这种情况,但未料到 MCEBuddy 的疏忽会成为原因。

我的日志文件在 FTP 服务器上。

我目前用一个“保姆”脚本临时解决了这个问题。该脚本在 MCEBuddy 服务启动前就以高权限运行,每 10 秒检查一次“F:\Media\”(我所有源文件的根路径)是否存在。如果路径不存在,保姆脚本会立即禁用 MCEBuddy 服务并终止其进程。(这能防止 MCEBuddy 失控并删除所有目标文件。)如果路径重新出现,保姆脚本会启用并启动 MCEBuddy 服务。

显然,这并不理想。我希望这个问题能在 MCEBuddy 中得到修复,这样我就不必再维护这个临时方案了。