Set location to individual files #3296

Closed
opened 2026-02-21 16:41:37 -05:00 by deekerman · 28 comments
Owner

Originally created by @alinq on GitHub (Nov 6, 2015).

I often need only some files from a directory. I have to move the files to the desired location, and of course then I delete the torrent. To keep the sharing going this problem will be solved if "Set location" is on the individual files.

Originally created by @alinq on GitHub (Nov 6, 2015). I often need only some files from a directory. I have to move the files to the desired location, and of course then I delete the torrent. To keep the sharing going this problem will be solved if "Set location" is on the individual files.
deekerman 2026-02-21 16:41:37 -05:00
Author
Owner

@ngosang commented on GitHub (Nov 7, 2015):

Put [Wishlist] at the start of the title.

@ngosang commented on GitHub (Nov 7, 2015): Put [Wishlist] at the start of the title.
Author
Owner

@alinq commented on GitHub (Dec 14, 2015):

If this ever gets into the final product, also as important will be to be able to rename the file whatever you want, of course within qBittorrent so it knows what the file to keep sharing.

@alinq commented on GitHub (Dec 14, 2015): If this ever gets into the final product, also as important will be to be able to rename the file whatever you want, of course within qBittorrent so it knows what the file to keep sharing.
Author
Owner

@chrishirst commented on GitHub (Dec 15, 2015):

While, on the face of it this may seem like a useful function, it does have a major flaw, as it precludes the altered payload from ever being **re-**loaded into any bittorrent client in the future using the original metadata.

@chrishirst commented on GitHub (Dec 15, 2015): While, on the face of it this may seem like a useful function, it _does_ have a major flaw, as it precludes the altered payload from **ever** being **re-**loaded into any bittorrent client in the future using the original metadata.
Author
Owner

@MasterHoover commented on GitHub (May 27, 2016):

While, on the face of it this may seem like a useful function, it does have a major flaw, as it precludes the altered payload from ever being re-loaded into any bittorrent client in the future using the original metadata.

I'm no tech guy , but this feature works flawlessly in uTorrent/bittorrent. If you worry about the file integrity after relocating a file with a totally random one, force a recheck anytime a file in a torrent has been relocated, overwriting the wrong file to the right one.

@MasterHoover commented on GitHub (May 27, 2016): > While, on the face of it this may seem like a useful function, it does have a major flaw, as it precludes the altered payload from ever being re-loaded into any bittorrent client in the future using the original metadata. I'm no tech guy , but this feature works flawlessly in uTorrent/bittorrent. If you worry about the file integrity after relocating a file with a totally random one, force a recheck anytime a file in a torrent has been relocated, overwriting the wrong file to the right one.
Author
Owner

@deant commented on GitHub (Jun 30, 2016):

Lack of this feature is a total deal-breaker for anyone interested in maintaining any reasonably-sized library of seeded files. You NEED to be able to rename and relocate individual files!

I plan to move from uTorrent 2.2.1 to qBittorrent only once this feature is implemented, and I'm sure there are many other people who feel the same.

Please give this feature top priority!!!

@deant commented on GitHub (Jun 30, 2016): Lack of this feature is **a total deal-breaker** for anyone interested in maintaining any reasonably-sized library of seeded files. You NEED to be able to rename and relocate individual files! I plan to move from uTorrent 2.2.1 to qBittorrent only once this feature is implemented, and I'm sure there are many other people who feel the same. **Please give this feature top priority!!!**
Author
Owner

@typhoon71 commented on GitHub (Aug 7, 2016):

I'd like this to be added too.
Right now you cann't relocate part of the content of a torrent, only the whole thing.
I think the ability to relocate even a single file in a torrent, expecially with the possibility of browsing the disc(s) with an explorer like dialog is powerful, and it's the only thing I really miss.
Right now you can reanme the torrent, but it's not that.
Please, add this. Thanks anyway.

@typhoon71 commented on GitHub (Aug 7, 2016): I'd like this to be added too. Right now you cann't relocate part of the content of a torrent, only the whole thing. I think the ability to relocate even a single file in a torrent, expecially with the possibility of browsing the disc(s) with an explorer like dialog is powerful, and it's the only thing I really miss. Right now you can reanme the torrent, but it's not that. Please, add this. Thanks anyway.
Author
Owner

@deant commented on GitHub (Dec 22, 2017):

Sorry slrslr, it isn't similar at all. Read my comment in the other thread.

@deant commented on GitHub (Dec 22, 2017): Sorry slrslr, it isn't similar at all. Read my comment in the other thread.
Author
Owner

@deant commented on GitHub (Dec 22, 2017):

In uTorrent, you can relocate and/or rename any file: Right-click and choose "relocate", and it pops up a standard explorer save-as dialog.

If you select more than one file and choose "relocate", then the filenames are preserved, and the save-as dialog only lets you pick the directory to place them in.

This is at minimum what qBittorrent needs to be able to do, and it's probably the "obvious" way to implement this feature.

However, when relocating lots of files to lots of different folders, opening and closing save-as dialogs can become very time-consuming and tedious. So, in addition to the option of displaying a save-as dialog for the single- and multiple-file cases, I'd like qBittorrent to have the ability to edit filename and path in-place - i.e. A list of path & filenames is displayed, and you can edit it as if it were a text file (with cut/copy/paste, move cursor up/down/left/right etc). Search and replace would be useful there too.

qBitorrent needs to check that any renamed/relocated file does not clash with an existing file. If the new path & name does NOT clash with an existing file, then the file should be moved. (If it's moving to a different volume, the torrent will need to be paused until the move has completed).

However, if there is an already-existing file at the supplied location, then:

(a) qBitorrent needs to check that it's the correct length, and prevent the name change if not (either by blocking it, or by adding " (2)", " (3)", etc to the end of the new filename, to prevent any filename clash. (Possibly have a setting choosing which of these behaviours to use?)

(b) If it's the correct length to be the torrent file, leave the previous file (if any) as-is, and but switch qBittorrent to refer to the new file instead. (Optionally: also run a hashcheck on it, to determine if it matches, and/or how many blocks in the file are complete. Auto-hashcheck should also be a settings option).

Finally, a really useful feature would be if you could highlight some files within a torrent, select a folder, and have qBittorrent scan that folder (and optionally subfolders also), to detect (based on file length and block-by-block hashing, i.e. not by filename) which (if any) of the torrent files already exist in that folder (looking for 100% completely downloaded files); and then set the torrent path & filenames to match for those cases.

@deant commented on GitHub (Dec 22, 2017): In uTorrent, you can relocate and/or rename any file: Right-click and choose "relocate", and it pops up a standard explorer save-as dialog. If you select more than one file and choose "relocate", then the filenames are preserved, and the save-as dialog only lets you pick the directory to place them in. This is _at minimum_ what qBittorrent needs to be able to do, and it's probably the "obvious" way to implement this feature. However, when relocating lots of files to lots of different folders, opening and closing save-as dialogs can become *very* time-consuming and tedious. So, in addition to the option of displaying a save-as dialog for the single- and multiple-file cases, I'd like qBittorrent to have the ability to edit filename and path **in-place** - i.e. A list of path & filenames is displayed, and you can edit it as if it were a text file (with cut/copy/paste, move cursor up/down/left/right etc). Search and replace would be useful there too. qBitorrent needs to check that any renamed/relocated file does not clash with an existing file. If the new path & name does NOT clash with an existing file, then the file should be moved. (If it's moving to a different volume, the torrent will need to be paused until the move has completed). However, if there **is** an already-existing file at the supplied location, then: (a) qBitorrent needs to check that it's the correct length, and prevent the name change if not (either by blocking it, or by adding " (2)", " (3)", etc to the end of the new filename, to prevent any filename clash. (Possibly have a setting choosing which of these behaviours to use?) (b) If it's the correct length to be the torrent file, leave the previous file (if any) as-is, and but switch qBittorrent to refer to the new file instead. (Optionally: also run a hashcheck on it, to determine if it matches, and/or how many blocks in the file are complete. Auto-hashcheck should also be a settings option). Finally, a really useful feature would be if you could highlight some files within a torrent, select a folder, and have qBittorrent _scan_ that folder (and optionally subfolders also), to detect (based on file length and block-by-block hashing, i.e. _not_ by filename) which (if any) of the torrent files already exist in that folder (looking for 100% completely downloaded files); and then set the torrent path & filenames to match for those cases.
Author
Owner

@KaXaSA commented on GitHub (Feb 20, 2020):

Yes! I was looking for this today, I was about to create a new issue when I found this one :)

I have some torrents that I wanted to keep seeding but I also wanted to organize the folders/subfolders in a better way. Without the 'Set location' I have to keep the seeding torrents files in separated 'seeding folder' and then make a copy of the files to the proper/organized folder. :(

@KaXaSA commented on GitHub (Feb 20, 2020): Yes! I was looking for this today, I was about to create a new issue when I found this one :) I have some torrents that I wanted to keep seeding but I also wanted to organize the folders/subfolders in a better way. Without the 'Set location' I have to keep the seeding torrents files in separated 'seeding folder' and then make a copy of the files to the proper/organized folder. :(
Author
Owner

@HatTrkPatrk commented on GitHub (Jun 10, 2020):

How in the world this has been an open issue/request for 5 years is beyond me. Such a basic, necessary function.

@HatTrkPatrk commented on GitHub (Jun 10, 2020): How in the world this has been an open issue/request for 5 years is beyond me. Such a basic, necessary function.
Author
Owner

@Gh3ttoKinG commented on GitHub (Jun 19, 2021):

I was about to finally make the move from µTorrent to qBitTorrent but I just realised this feature doesn't exist, so I too would like to have this feature!
I have several torrents that belong together and t he problem is that in those torrents the files are in an unnecessary subfolder.
So I'd like to have those files all in one single folder without those subfolders!

@Gh3ttoKinG commented on GitHub (Jun 19, 2021): I was about to finally make the move from µTorrent to qBitTorrent but I just realised this feature doesn't exist, so I too would like to have this feature! I have several torrents that belong together and t he problem is that in those torrents the files are in an unnecessary subfolder. So I'd like to have those files all in one single folder without those subfolders!
Author
Owner

@OldClassicGamer commented on GitHub (Aug 17, 2021):

Six years later and this is still not possible. Why?
I like qBittorrent the best when it comes to overall but not having this ability REALLY annoys me.

@OldClassicGamer commented on GitHub (Aug 17, 2021): Six years later and this is still not possible. Why? I like qBittorrent the best when it comes to overall but not having this ability REALLY annoys me.
Author
Owner

@TGeka commented on GitHub (Nov 10, 2021):

this feature is really needed

@TGeka commented on GitHub (Nov 10, 2021): this feature is really needed
Author
Owner

@github-account1111 commented on GitHub (Mar 12, 2022):

Duplicate of #439?

@github-account1111 commented on GitHub (Mar 12, 2022): Duplicate of #439?
Author
Owner

@deant commented on GitHub (Mar 12, 2022):

Duplicate of #439?

It is as far as the original posts go, but there is relevant discussion in the comments that isn't duplicated between the two issues - see e.g. my 2nd comment dated 23 December 2017 in this issue.

@deant commented on GitHub (Mar 12, 2022): > Duplicate of #439? It is as far as the original posts go, but there is relevant discussion in the comments that isn't duplicated between the two issues - see e.g. my 2nd comment dated 23 December 2017 in this issue.
Author
Owner

@github-account1111 commented on GitHub (Mar 12, 2022):

Duplicate of #439?

It is as far as the original posts go, but there is relevant discussion in the comments that isn't duplicated between the two issues - see e.g. my 2nd comment dated 23 December 2017 in this issue.

Closing an issue doesn't remove anything.
Your comment will still be there.
It's bad to have multiple open issues for the same bug, especially with 2.7k other open issues.

@github-account1111 commented on GitHub (Mar 12, 2022): > > Duplicate of #439? > > It is as far as the original posts go, but there is relevant discussion in the comments that isn't duplicated between the two issues - see e.g. my 2nd comment dated 23 December 2017 in this issue. Closing an issue doesn't remove anything. Your comment will still be there. It's bad to have multiple open issues for the same bug, especially with 2.7k other open issues.
Author
Owner

@chelc-fox commented on GitHub (Jun 1, 2022):

Just adding my voice to this; this feature is still sorely needed, as a lot of us out there use Plex, which requires very specific folder structures to read certain downloads properly, and while this feature remains unpresent, being a responsible seeder continues to be a headache ^^;

@chelc-fox commented on GitHub (Jun 1, 2022): Just adding my voice to this; this feature is still sorely needed, as a lot of us out there use Plex, which requires very specific folder structures to read certain downloads properly, and while this feature remains unpresent, being a responsible seeder continues to be a headache ^^;
Author
Owner

@KaXaSA commented on GitHub (Jun 2, 2022):

So I found a temporary solution (Windows), when the download is completed you can create a Hard Link (Symbolic Link) copy.

It's basically a 'copy' of the file that doesn't take disk space, the two files will be 'linked', but you can rename/delete either of them with no issues. So you can, create a hard link copy, move it to some other folder (in the same disk), rename it and if necessary, when you're done seeding, you can delete the original file.

To make it easier to manually create the hard links, you can add some options to context menu (right click):
https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html
(not sure if there is an easier/native way to create hard links)

But I think a better solution would be to run a script, every time a download is finished, to automatically create the hard link, you can create hard links using PowerShell:
New-Item -Path "D:\new\path\copy.mkv" -ItemType HardLink -Value "D:\path\to\original\file.mkv" -Force
So I assume it wouldn't be hard to create a script that use qBittorrent's 'Run external program on torrent completion' parameters (options > downloads) to get the file path and then create the hard link in some other folder.


Idea:
devs could implement an option to create a hardlink copy in the destination folder, when the download is completed, while keeping the original file(s) in a generic download/seeding folder.

@KaXaSA commented on GitHub (Jun 2, 2022): So I found a **temporary solution** (Windows), when the download is completed you can create a [Hard Link](https://docs.microsoft.com/en-us/windows/win32/fileio/hard-links-and-junctions#hard-links) (Symbolic Link) copy. It's basically a 'copy' of the file that doesn't take disk space, the two files will be 'linked', but you can rename/delete either of them with no issues. So you can, create a hard link copy, move it to some other folder **(in the same disk)**, rename it and if necessary, when you're done seeding, you can delete the original file. To make it easier to manually create the hard links, you can add some options to context menu (right click): https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html (not sure if there is an easier/native way to create hard links) But I think a better solution would be to run a script, every time a download is finished, to automatically create the hard link, you can create hard links using **PowerShell**: `New-Item -Path "D:\new\path\copy.mkv" -ItemType HardLink -Value "D:\path\to\original\file.mkv" -Force` So I assume it wouldn't be hard to create a script that use qBittorrent's 'Run external program on torrent completion' parameters (options > downloads) to get the file path and then create the hard link in some other folder. --- Idea: devs could implement an option to create a hardlink copy in the destination folder, when the download is completed, while keeping the original file(s) in a generic download/seeding folder.
Author
Owner

@hideki2k02 commented on GitHub (Dec 8, 2023):

Damn, after all this time it's still open :( wish someone put a bounty on this or something.

Edit: For reference (maybe someone want more examples on how to implement it), these are the only Clients that I know that allow this: uTorrent and Tixati.

@hideki2k02 commented on GitHub (Dec 8, 2023): Damn, after all this time it's still open :( wish someone put a bounty on this or something. Edit: For reference (maybe someone want more examples on how to implement it), these are the only Clients that I know that allow this: uTorrent and Tixati.
Author
Owner

@kirichenec commented on GitHub (Jan 1, 2025):

+for this. Trying to migrate to qbittorrent, move torrents via magnet and... stuck on torrents with removed child folders. We need this!)

@kirichenec commented on GitHub (Jan 1, 2025): +for this. Trying to migrate to qbittorrent, move torrents via magnet and... stuck on torrents with removed child folders. We need this!)
Author
Owner

@mattany commented on GitHub (Mar 14, 2025):

+1 for this feature - would be very useful especially for cross seeding

@mattany commented on GitHub (Mar 14, 2025): +1 for this feature - would be very useful especially for cross seeding
Author
Owner

@shootlazer commented on GitHub (May 1, 2025):

+1 for this. It's one of the most useful things from uTorrent and somehow qBittorrent doesn't have it.

Someone tried to implement it, but it was never merged...

https://github.com/qbittorrent/qBittorrent/pull/15903

@shootlazer commented on GitHub (May 1, 2025): +1 for this. It's one of the most useful things from uTorrent and somehow qBittorrent doesn't have it. Someone tried to implement it, but it was never merged... https://github.com/qbittorrent/qBittorrent/pull/15903
Author
Owner

@nullptr448 commented on GitHub (May 5, 2025):

+1 for this, it's been requested almost a decade already

@nullptr448 commented on GitHub (May 5, 2025): +1 for this, it's been requested almost a decade already
Author
Owner

@glassez commented on GitHub (May 5, 2025):

It is supposed that the files of the same torrent have a logical relationship between each other (for example, these are episodes of a TV series, or a movie, its subtitles, etc.). Do you really want to save these files in different places?

@glassez commented on GitHub (May 5, 2025): It is supposed that the files of the same torrent have a logical relationship between each other (for example, these are episodes of a TV series, or a movie, its subtitles, etc.). Do you really want to save these files in different places?
Author
Owner

@deant commented on GitHub (May 6, 2025):

@glassez The "logical" relationship between files in a torrent isn't always what you want. There are some torrents that are collections, e.g. sci-fi novels with titles beginning with letters A-C; torrent creator's favorite pop hits from the year 1983; 1990's disaster movies, etc. So you may (just for example) want to re-organize these into folders by artist, or author surname, or by whatever scheme you organize your own media library.

I don't think "works perfectly for 98% of the torrents I want to download and continue seeding" is a good-enough target. Especially when uTorrent has had this feature from the start!

@deant commented on GitHub (May 6, 2025): @glassez The "logical" relationship between files in a torrent isn't always what you want. There are some torrents that are collections, e.g. sci-fi novels with titles beginning with letters A-C; torrent creator's favorite pop hits from the year 1983; 1990's disaster movies, etc. So you may (just for example) want to re-organize these into folders by artist, or author surname, or by whatever scheme you organize your own media library. I don't think "works perfectly for 98% of the torrents I want to download and continue seeding" is a good-enough target. Especially when uTorrent has had this feature from the start!
Author
Owner

@shootlazer commented on GitHub (May 13, 2025):

It is supposed that the files of the same torrent have a logical relationship between each other (for example, these are episodes of a TV series, or a movie, its subtitles, etc.). Do you really want to save these files in different places?

It's mostly for cross-seeding certain torrents.

@shootlazer commented on GitHub (May 13, 2025): > It is supposed that the files of the same torrent have a logical relationship between each other (for example, these are episodes of a TV series, or a movie, its subtitles, etc.). Do you really want to save these files in different places? It's mostly for cross-seeding certain torrents.
Author
Owner

@xavier2k6 commented on GitHub (May 23, 2025):

ANNOUNCEMENT!

For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:

  1. Please select/click the 👍 &/orreactions in the original/opening post of this ticket.

  2. Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
    (new/existing contributors/developers are always welcome)


DO:

  • Provide constructive feedback.
  • Display how other projects implemented same/similar etc.

DO NOT:

  • Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s).
    (These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)
@xavier2k6 commented on GitHub (May 23, 2025): ## ANNOUNCEMENT! For anybody coming across this **_"Feature Request"_** & would like/love to see a potential implementation in the future! **Here are some options available to you:** 1. Please select/click the 👍 **&/or** ❤ `reactions` in the original/opening post of this ticket. 2. Please feel free _(If you have the "skillset")_ to create a **_"Pull Request"_** implementing what's being requested in this ticket. **_(new/existing contributors/developers are always welcome)_** ____ **DO:** * Provide constructive feedback. * Display how other projects implemented same/similar etc. **DO NOT:** * Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s). **(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)**
Author
Owner

@hideki2k02 commented on GitHub (Jun 19, 2025):

I was able to achieve this by using the VueTorrent Web UI, so there is a chance that is already possible but it's not present in the standard interface.

@hideki2k02 commented on GitHub (Jun 19, 2025): I was able to achieve this by using the VueTorrent Web UI, so there is a chance that is already possible but it's not present in the standard interface.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#3296
No description provided.