[Req] Improvement in work with directory junctions on NTFS.
Moderators: Hacker, petermad, Stefan2, white
[Req] Improvement in work with directory junctions on NTFS.
Suppose we have a junction on some very large directory and have "Calculate space... before copying/deleting" option in TC turned on. Then on trying to remove this junction we will have to wait for very long time before TC counts the size of all the contents inside that large directory. But this is unnecessary! Removing junction is a very fast operation and it does not depend on how much data are stored inside it. So I suggest to turn off this counting on removing junctions.
Last edited by Flint on 2005-03-18, 06:52 UTC, edited 1 time in total.
Well, I have to move the topic up, because the problem is still not solved, and moreover, the problem has its continuation.
If we create a link on the folder into its subfolder, then we simply cannot remove this link without turning the option "Calculate space... before copying/deleting" off! TC begins to calculate space, goes file by file, folder by folder, goes to the link, then - into it and continues to count inside the same folder, goes into the link again and so on. He will stop this process when the length of the path will reach 260 characters, but this will take VERY long time.
If we create a link on the folder into its subfolder, then we simply cannot remove this link without turning the option "Calculate space... before copying/deleting" off! TC begins to calculate space, goes file by file, folder by folder, goes to the link, then - into it and continues to count inside the same folder, goes into the link again and so on. He will stop this process when the length of the path will reach 260 characters, but this will take VERY long time.
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Thank you! Now I'm waiting hopefully! 

Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
I'm joining you in hoping! I dislike that TC descends down junctions whenever calculating directory space. Not only does it slow down, the resulting sizes are way overestimated.
It's suprising because one of the nice features of TC is that it shows junctions with a different icon than ordinary folders, so it knows about them. But perhaps the space calculation is delegated to windows?
It's suprising because one of the nice features of TC is that it shows junctions with a different icon than ordinary folders, so it knows about them. But perhaps the space calculation is delegated to windows?
zweistein
Hm... I was talking about some other feature: calculating directory space before deleting some directory - and from TC version 6.52 junctions are handled correctly in this case.
But if I understand you correclty, you're talking about counting space with Ctrl+L (or smth similar) - this is the different situation! And I'm not sure that TC must not count junctions contents here... Maybe, an option?
Hm... I was talking about some other feature: calculating directory space before deleting some directory - and from TC version 6.52 junctions are handled correctly in this case.
But if I understand you correclty, you're talking about counting space with Ctrl+L (or smth similar) - this is the different situation! And I'm not sure that TC must not count junctions contents here... Maybe, an option?
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
In my opinion, it needs to count the space of junctions too, because when copying the directory with the junction, files within the refrerenced directory will be copied too! Therefore they are relevant for the needed disk space on the target.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- Balderstrom
- Power Member
- Posts: 2148
- Joined: 2005-10-11, 10:10 UTC
ghisler(Author) wrote:In my opinion, it needs to count the space of junctions too, because when copying the directory with the junction, files within the refrerenced directory will be copied too! Therefore they are relevant for the needed disk space on the target.
Code: Select all
2. Problems with Junctions, behaviour as follows:
Explorer & TotalCMD
1/ Cut & Paste Moves Junction.
2/ Copy&Paste Copies Junction. *
Explorer TotalCMD
1/ Drag/Move Moves Junction. Creates Folder, MOVES all contents of Junction to new folder.
2/ Drag/Copy Copies Junction. * Creates Folder, Copies all contents of Junction to new folder.
(*) Attempts to copy all the files over themself. Very annoying.
TC could correct this behaviour within itself

On the other hand TotalCMD is doing some very questionable things when dragging Junctions...
Inherently changing what it is moving/copying. Drag/Move worst of all.
To me a junction is a pointer, if you Drag Copy/Paste a shortcut to an .exe, it doesn't move that .exe.
Neither should TotalCMD move the files referenced from a Junction, the junction should move, and retain what it points to.
In fact, it would be nice to have an option for Archives, to not traverse junctions. But thats probably asking too much

Does no one else have an opinion on this or even Christian? The way TC is handling Junctions seems very wrong to me, and doesn't even match how windows natively treats them.