Qbittorrent: 重新定位功能

创建于 2013-02-17  ·  55评论  ·  资料来源: qbittorrent/qBittorrent

如果有办法做到这一点,请告诉我。

我的一些 torrent 数据位于子文件夹中,例如:

/艺术家
/年 - 专辑名称

在种子种子之后,我最终想要取出文件并重命名根文件夹,如下所示:“艺术家 - 专辑标题(年份)[格式]。

在 uTorrent 中,使用 Relocate 功能,我可以右键单击该子文件夹中的每个文件,并将其直接指向该文件,这样当 Torrent 被强制重新检查时,它会绕过子文件夹一切都检查出来了。

这是在 qBitTorrent 中实现的,还是可以实现的? 这真的是让我无法 100% 转换到 Linux 的唯一原因。

谢谢!


想要支持这个问题? 在上面发布赏金! 我们通过Bountysource接受赏金。

Feature request Waiting upstream

最有用的评论

我猜是因为他不是开发者? 思维

当然不是,但是当有人在 FOSS 项目问题跟踪器上如此粗鲁时,他们需要忍耐或闭嘴。

我想我们需要一个开发人员来实现这个功能(或任何其他功能)......

是的,这就是它的工作原理。 如果有人真的想要一个功能,他们需要自己做,希望有人为他们做,或者付费/赞助某人为他们做(不是说我或其他任何人都可以在这里租用)。

所有55条评论

我同意,我觉得这非常严格。 我“需要”能够使用我下载的文件,在哪里使用它们,并且也能够播种它们。 这也可以允许同时从多个种子中播种相同的文件。

在内容选项卡中,如果您右键单击文件夹/文件,您可以重命名它。 也重命名根文件夹,我认为您可以实现您的要求。 我会关闭这个。 如果我错了,请发表评论,我会重新打开这个。

嗨,这与请求有点不同。

重命名根文件夹效果很好,并且允许拥有不同名称的根文件夹。 它不会更改根目录所在的文件夹,但该功能是通过右键单击 torrent 并更改保存目录来提供的。

这些都是很好的功能,可以很好地将所有文件重新定位在一起。

编辑:是的,您可以重命名单个文件,但不能独立于 torrent 更改它们在文件系统中的位置。 torrent 的子目录可以得到一个新名称,但文件甚至不能在 torrent 的根目录中“重新定位”。 我想到通过重命名为带有反斜杠的名称来尝试这样做,但 Qbittorrent 不支持。

但是,我相信请求是为了能够独立地重新定位 torrent 中的所有文件和文件夹,就像在 uTorrent 中一样。 种子文件并不总是以文件对下载者最有用的方式打包在一起。

如果此数据在某些情况下(如 #569、#468 等)可能丢失,则此请求会给用户带来复杂的问题。 因此,将任何已确认的与此实现特别相关的错误视为依赖项/依赖项可能会很好。

是的,我现在可以看到用例了。 重定位用于当用户想要将文件移到根文件夹之外和/或完全更改文件结构时。

我想我在某个地方的 libtorrent API 中看到了这样的功能......

再看一遍,我在 libtorrent API 中找不到东西。 因此,在当前的 libtorrent 接口下,此功能无法在 qbittorrent 中实现。

我想知道如果 rename_file 传递了完整路径会发生什么?

我不认为 rename_file 那样工作。 我没有时间测试它。
move_storage() 移动整个种子。 我们正在谈论仅将单个文件从多文件种子中移出

@ sledgehammer999 我相信 rename_file() 可以做到这一点。 它在参数中采用文件的相对路径。

嗯,好的,我会在接下来的几个小时内试一试......

@cdumez似乎 rename_file确实允许指定相对路径。 虽然使用起来很麻烦。 它似乎不接受绝对路径。 这有一个副作用,如果您两次传递相同的相对路径,则第二次传递它时,该路径将在第一次的路径下再次创建。 此外,如果您只是传递原始文件名,它不会将文件放回其原始位置。

@sledgehammer999因此,如果打算移动,则必须相对于当前路径(相对于 torrent 的保存位置)指定相对路径? 这可能涉及“../../../newpath/filename”等?

我在 libtorrent 文档中注意到一些关于自定义覆盖 [任何 sic mine] 的文件访问可能的内容,您可以在其中构建/覆盖现有行为以满足您的需求。

此外,在他们的变更日志中,他们确实显示了移动文件夹时 rename_file() 行为的最新改进,因此该项目中可能有人对实现绝对路径支持有足够的兴趣。

此外,在他们的变更日志中,他们确实显示了移动文件夹时 rename_file() 行为的最新改进,因此该项目中可能有人对实现绝对路径支持有足够的兴趣。

也许吧,但我认为我们需要一个额外的 API 来查询每个文件的当前文件路径。 我将尝试在上游打开错误报告,看看会发生什么。 (我也会在这里返回链接)

我在 libtorrent 文档中注意到一些关于文件访问可能的自定义覆盖 [any sic mine] 的内容

http://www.rasterbar.com/products/libtorrent/manual.html#storage -interface

这将需要重新实现整个 storage_interface 类。

附上适当的标签。
还有上游错误: https ://code.google.com/p/libtorrent/issues/detail?id=472&thanks=472&

我在 libtorrent 文档中注意到一些关于文件访问可能的自定义覆盖 [any sic mine] 的内容

http://www.rasterbar.com/products/libtorrent/manual.html#storage -interface

这将需要重新实现整个 storage_interface 类。

@Gelmir - 派生类不能只重新实现它需要的那些功能吗?
我并不是说这是最简单或最好的解决方案。我没有知识/专业知识。 在所有:)。
希望更新是在上游进行的,它可能会更简单,并使所有下游项目受益。

嗯,这毕竟是可行的。 问题是并非所有公共 API 都有文档页面。 我说的是file_entry 和file_storage。

建议尝试:

  1. 弹出目录选择对话框的新菜单项“重定位”
  2. 构造从源到目标路径的相关路径(QDir 可能为此提供了一个功能)
  3. 等待 file_renamed_alert 并检查它的“名称”属性。 如果它包含文件夹(又是 QDir?),请相应地更新内容树视图。 否则检查这个特定文件的 file_entry::path。

上游有一个补丁,如果这可以进行测试构建或其他什么,我很乐意对其进行测试。 特别是包含 Gulmir 的 RSS 早期下载补丁 :dancer: :D

顺便一提。 上次我检查存储移动阻止了所有其他种子。

是的,我已经看到了补丁,但目前我太忙了,无法在 qbt 中测试和使用它。 @Gelmir如果你愿意,你可以自由地工作。 无论如何,从现在开始的几天内我都不会碰这个功能。

顺便一提。 上次我检查存储移动阻止了所有其他种子。

+1,但我不确定。 至少我确定如果你移动多个种子,移动会按顺序发生。 此外,如果您移动一个 torrent 并强制重新检查另一个 torrent,则第二个 torrent 将排队。

是否仍应将其标记为“等待 API 实现”?

它不应该,但我会留下它,因为我想快速找到这个问题。 当我找到时间时,我会实施它。 如果我删除标签,它将在“愿望清单”项目的洪流中丢失。

我非常想要这个功能。 这是唯一阻止我倾销 utorrent 的东西。

嗨,我想知道这个功能是否更接近实现。

我记得,这个功能对鼓励播种很重要,
例如,使用 utorrent,我正在播种龙珠视频集(100GB),我重组了文件夹以供 Plex 使用。(因为 torrent 的季节与 thetvdb.com 的季节不同)
但是由于我使用 qb,所以我刚刚删除了这个 torrent,因为我无法重组文件夹:(所以我有文件,但我无法播种:'

跟踪器开始左右禁止 utorrent 3.4.2(这是正确的)我真的很想切换,但这个功能对我来说非常重要! 我希望它很快就能实现。

很高兴看到这方面的一些进展。

开始认为这永远不会发生。

这个可以看吗? 我最近搬到了 qbittorrent,我需要的每一个关键功能都在这里,除了这个

这似乎是一个必不可少的功能,我很惊讶它还没有实现。

文件系统 hadlinks 可以解决问题。 您可以将下载的文件复制到您想要的任何位置,并运行一个工具来检测文件重复并用硬链接替换它们。 我认为用这样的功能污染 qBt 是没有意义的,但是在没有 libtorrent 的任何支持的情况下很容易实现。

虽然我已经完成了这个请求和 qBitTorrent,因为我已经使用 ruTorrent 作为 UI 迁移到 rtorrent,但我仍然同意这是客户端缺少的唯一必要功能。 但是, @evsh ,您的建议与重定位功能的实际请求完全无关。

@maya923 “重定位”功能和硬链接之间的唯一区别是文件系统在原始下载目录中保留了文件的条目。 我错过了什么或者这个文件系统条目有问题吗?

@evsh这不是必要的吗? 所有的搬迁功能都是一个举动。 我不想在同一个硬盘上保留每个种子的两个副本,更不用说同一台计算机了。 如果 µTorrent 已经实施了这么久,我真的不知道为什么 qBitTorrent 没有这样做。 对于那些继续使用 qBitTorrent 的人,我希望有一天,希望很快,它会为他们实施。

@maya923如果想使用网络节点 A 下载文件并将文件移动到节点 B,为什么将其保留在 qBt 中? 它不是文件管理器。 如果想将文件重新定位到另一个文件系统(另一个 HDD 或分区),那么再次,此操作的目的是什么? 可以下载到目标文件系统,或者将其移动到那里(例如,进入隐藏目录)并在需要的地方进行硬链接。

但是在没有 libtorrent 的任何支持的情况下很容易实现。

@evsh ,libtorrent 很久以前就添加了对此的支持。

如果发生这种情况会很好。 不能正确交叉种子的客户端并不是很有用。

编辑(FranciscoPombal):qBittorrent 仍然可以通过利用符号链接和/或硬链接来很好地交叉种子。

编辑:现在我看到一开始就提到了重命名。

我一直在从 utorrent 迁移到 qbittorent。 唯一需要使用硬链接的情况是,如果您下载种子文件并希望将文件传播到不同的文件夹/硬盘驱动器中,而不是三部曲的原始文件夹中。
如果您想修复不正确的剧集命名,您可以正确命名文件,但保留文件夹名称或将其重命名为“Mixed S1-S2”。 Scrapers 只查看父文件夹名称(辛普森一家)和文件名。

如果您想重命名文件并继续播种,您可以使用 qbittorent 来完成。 您可以在添加/读取种子(双击)时执行此操作,也可以在内容选项卡中重命名文件夹/文件(右键单击)。

只是想知道这个功能是否仍在考虑实施,特别是如果它很容易做到?

在需要的地方进行硬链接。

尽管使用硬链接,但拥有此功能会很好。 原因是有些软件不支持硬链接(例如 DrivePool,它只支持符号链接,用于将多个驱动器汇集在一起​​)。

这被标记为等待 API 实现,但根据这个问题libtorrent 在 2013 年实现了所需的功能。对此有何动静?

还在等待这个的实现

请在上面加糖

这是我尚未从 uTorrent 迁移的唯一原因,请考虑实施此功能。

在种子种子之后,我最终想要取出文件并重命名根文件夹

好吧,那就去做吧,把它们拿出来,把它们复制出来,然后做你想做的事!

我不明白这一点。 你为什么需要这个? 只需保持种子种子并移动副本并在其他地方重新组织您的文件。 磁盘空间非常便宜,音乐也不会占用太多空间。 使用https://picard.musicbrainz.org/进行重组。 我认为它甚至有一个复制而不是移动的设置。 IMO 这样的事情不应该优先考虑任何 torrent 客户端,尤其是在打开 2600 多个问题的情况下。

@sledgehammer999在 2013 年说

使用起来很麻烦。

关于我不知道的事情。 我对编程(只是网络东西)有一些线索,并且只能想象像这样的功能会使整个代码库方式更加复杂,并可能破坏其他东西。

在种子种子之后,我最终想要取出文件并重命名根文件夹

好吧,那就去做吧,把它们拿出来,把它们复制出来,然后做你想做的事!

我不明白这一点。 你为什么需要这个? 只需保持种子种子并移动副本并在其他地方重新组织您的文件。 磁盘空间非常便宜,音乐也不会占用太多空间。 使用picard.musicbrainz.org进行重组。 我认为它甚至有一个复制而不是移动的设置。 IMO 这样的事情不应该优先考虑任何 torrent 客户端,尤其是在打开 2600 多个问题的情况下。

这不是一个好的或有效的解决方案,我不知道您为什么要向 OP 提出它。 您的解决方案是复制一个人想要移动的每个文件。

如上所述,libtorrent 的旧问题跟踪器在 2013 年修复了一个问题。人们只是希望 qBittorrent 增加支持并与 uTorrent 更接近。

此功能非常有助于保持种子文件的活力,同时仍允许人们按照他们想要的方式组织文件。

该死的,Picard 实际上没有复制文件的选项,但发现它正在制作中,但从未成功。 https://github.com/metabrainz/picard/pull/44https://github.com/metabrainz/picard/pull/350https://tickets.metabrainz.org/browse/PICARD-183。 如果有人真的做了一个很好的公关,那肯定是一个功能。

如果您移动和/或重命名它们,Bittorrent 显然会丢失轨道。 可悲的是,这让我的观点不太好,但您仍然可以手动将它们复制出来,然后在复制的文件上使用 Picard,只需再迈出一步。 我敢打赌,人们对此一无所知。 为完全不同的目的而构建的软件中构建的任何愚蠢的半垃圾解决方案都没有多大意义。 自 2013 年以来,只有少数评论和 10 个赞。 2600++ 问题尖叫“不要打开这本书!”。 嵌套类别对于基本排序来说已经足够了。 BitTorrent 客户端应该不需要跟踪重命名的文件,但它似乎已经可以做那件疯狂的事情了! 那么这里的实际问题是什么? 您可以进入一个新的“嵌套类别”,它本质上只是另一个文件夹。 您可以将其命名为“艺术家 - 随便/2000 - 随便/”,您可以这样做,然后您甚至可以重命名文件,一切都来自这个疯狂的 bit-torrent 客户端,同时它不断播种。 你想要更多吗? 严重地?

我将 Sonarr 用于系列,只是将文件复制到正确的目录中,同时保持播种。 没有什么是嵌套类别无法处理的,它只是自动化的,而且做得更多。

我确实认为声称此类功能必不可少的人是愚蠢的。 我要重新命名,对新工具进行排序并正确标记它- 再见。

是的,我已经看到了补丁,但目前我太忙了,无法在 qbt 中测试和使用它。 @Gelmir如果你愿意,你可以自由地工作。 无论如何,从现在开始的几天内我都不会碰这个功能

顺便一提。 上次我检查存储移动阻止了所有其他种子。

+1,但我不确定。 至少我确定如果你移动多个种子,移动会按顺序发生。 此外,如果您移动一个 torrent 并强制重新检查另一个 torrent,则第二个 torrent 将排队。

这是在 2013 年 6 月发布的。
现在快 2020 年了,这还没有完成。
自从这个帖子被打开以来我就一直在看它,但我认为没有任何理由发表评论,而且我不喜欢在谈到自由软件时听起来有资格。
但在这一点上,我对为什么这仍然没有实施感到非常困惑,我一直在等待从 uTorrent 切换到十年的大部分时间,因为作为一个想要交叉种子、组织和实际使用我的文件的人这个功能是相当强制性的。
uTorrent 的古代版本具有此功能。
众所周知,自 2013 年以来一直可以实现这一点。
这显然不是可见性或优先级的问题,因为在 2700 多个未解决的问题中,这是仅有的 3 个固定问题之一。
它也被错误地标记为“等待 API 实现”,那么至少可以将其删除吗?

有一个简单的解决方案。 制作 reflink 副本(Btrfs、ZFS)或硬链接(NTFS、ext4、XFS..)。 然后,您可以根据需要重命名或移动克隆文件,而不会重复使用空间。

当然,这不适用于跨文件系统边界。 也许软链接有效,但我还没有测试过。

带有 Btrfs/ZFS 的 Linux:

cp -a --reflink=always src target

带有硬链接的 Linux:

ln -p link target

http://man7.org/linux/man-pages/man1/ln.1.html

视窗:

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    Specifies the new symbolic link name.
        Target  Specifies the path (relative or absolute) that the new link
                refers to.

这甚至不是一个简单的解决方案。 Torrent 可以有几十个文件。 为每个人创建一个手动硬链接是荒谬的。 它还会在您的磁盘上造成大量混乱,因为每个 torrent 文件都有两个系统文件。

目录连接就足够了。 如果您不想重命名文件。

但似乎存在需要更多开发人员时间的错误和其他问题,我认为这些是不错的选择。

Personslly 我使用cp -a --relink=always来制作 CoW 克隆,无需额外费用。 所有的 Torrent 文件都保留在我的 torrent 文件夹中,副本被移动到其他地方。 非常有效率。 甚至可以使用 vfs_btrfs 插件在 samba 共享上工作。

等待这个请求太久了。 转移到 Tixati,能够轻松移动单个文件并重命名单个文件。

@PebbleThrower

等待这个请求太久了。 转移到 Tixati,能够轻松移动单个文件并重命名单个文件。

Oof,至少转移到另一个 FOSS 客户端,而不是专有的......

超实用的功能7年就不能实现了? 人们仍然会问为什么 uTorrent 如此受欢迎。

超实用的功能7年就不能实现了? 人们仍然会问为什么 uTorrent 如此受欢迎。

只要有人做出贡献,它就可以。 你为什么不做呢?

我猜是因为他不是开发者? 🤔

我想我们需要一个开发人员来实现这个功能(或任何其他功能)......

我猜是因为他不是开发者? 思维

当然不是,但是当有人在 FOSS 项目问题跟踪器上如此粗鲁时,他们需要忍耐或闭嘴。

我想我们需要一个开发人员来实现这个功能(或任何其他功能)......

是的,这就是它的工作原理。 如果有人真的想要一个功能,他们需要自己做,希望有人为他们做,或者付费/赞助某人为他们做(不是说我或其他任何人都可以在这里租用)。

此页面是否有帮助?
0 / 5 - 0 等级