A 300G folder becomes 890G when copied

Please report only one bug per message!

Moderators: white, Hacker, petermad, Stefan2

Post Reply
nemadeka
Junior Member
Junior Member
Posts: 79
Joined: 2009-04-26, 19:44 UTC

A 300G folder becomes 890G when copied

Post by *nemadeka »

Good day,

I scanned an HDD with mistakenly deleted files using R-Studio, which produced a folder of recovered files with roughly 300G of data, as the utility log says, and Explorer confirms.

When I used TC to copy this folder from a USB HDD to a 1TB internal HDD with approximately 500G of free space I ran out of space, because according to TC the recovered folder tree is 890G. This is provably untrue, because this folder tree sits on an 1TB HDD with <500GB occupied + the recovered data folder (the 890GB) + ~250GB of free space. This does not add up.

This probably happens because the folder tree with the recovered data contains LNK folders which point to real folders, so TC counts and copies some folders twice, once -- following a link, the other time -- the folder itself.

I guess this is a "feature" requested by a lamer, like the feature which deletes the "files" folder when I delete a saved *.html file. I hate this feature and the person who asked for it, because he does not want to use his brain and delegated this capacity to TC.

My TC version 9.22, I found a workaround, so this is free advice and my anathema to people who ask to make software dumb.

Peace to everyone else.

thank you
User avatar
petermad
Power Member
Power Member
Posts: 14739
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: A 300G folder becomes 890G when copied

Post by *petermad »

2nemadeka

There are som setings you can use in wincmd.ini to control how LNK folders should be copied:
Help wrote:CopyLinks=0 Copy file system links (junctions) as links and not as directories:
0: Copy links as dirs or ignore them (if IgnoreLinks has been set)
1: Copy links without changing the target path of the links
2: Copy links and change the target path to the target drive if the link points to the same drive on which the link itself is located.
Example:
c:\path1\link, pointing to c:\path1\path2\linktarget
Copied to d:\trgpath1\trgpath2\link
-> Link now points to d:\trgpath1\trgpath2\path2\linktarget
Note: The function does NOT check whether the target of the link exists or not.

IgnoreLinks=0 Allows you to ignore hard links (junctions, reparse points) to directories in various functions. Note: The function "Synchronize dirs" uses a separate option "SyncIgnoreJunctions".
Sum of:
1: copy/move/calculate occupied space
2: internal packers (zip, tar)
4: branch view
8: find files (except when using Everything), re-scan tree
16: ignore links even when they are selected in the current directory. Otherwise only links in selected subdirectories are ignored.

SyncIgnoreJunctions=0 0: Also follow junctions (reparse points) to directories when synchronizing
1: Exclude directory junctions from synchronizing
Warning: If a directory with the same name exists on the second side, files in it seem to exist only on that side because the junction on the first side is excluded!
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
nice
Junior Member
Junior Member
Posts: 84
Joined: 2018-03-12, 23:58 UTC

Re: A 300G folder becomes 890G when copied

Post by *nice »

Why "copy/move/calculate occupied space" are in the one option? Probably calculate space should be separate.
Should i set CopyLinks or IgnoreLinks or both?
What does mean "Ignore"? they will be not copied as files and not copied as links?
if i set Copy=1 and Ignore=1, then no links will be copied neither as files nor as links?
if i set Copy=0 and Ignore=1, then no links will be copied, or it will be copied as files?
Why It has option in CopyLinks for copy, and in IgnoreLinks for copy?
It's probably confusing.
It does not work the way it is described.
Probably, IgnoreLinks does nothing.

If I set "CopyLinks=1 or 2" then it doesn't calculate occupied space, so therefore it's not needed to set IgnoreLinks=1 to not calculate occupied space. So, IgnoreLinks=0 or IgnoreLinks=1 works the same way (nothing).

Symlinks to files are not copied anyways.
The answer that this is "not supported" is not that we expect.
Why? The "Dark theme" is more important than the basic functionality with file system?
User avatar
petermad
Power Member
Power Member
Posts: 14739
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: A 300G folder becomes 890G when copied

Post by *petermad »

2nice
IgnoreLinks only has effect if CopyLinks=0

Copylinks is about HOW to copy links, and IgnoreLinks is about WHEN to process links (when Copylinks is set to 0)
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
nemadeka
Junior Member
Junior Member
Posts: 79
Joined: 2009-04-26, 19:44 UTC

Re: A 300G folder becomes 890G when copied

Post by *nemadeka »

Thanks everyone, I saved your feedback for future use.

UPD: Here the ini file does not have this command, so the behaviour I described is default, in my humble opinion, it is extremely confusing and illogical.
nemadeka
Junior Member
Junior Member
Posts: 79
Joined: 2009-04-26, 19:44 UTC

Re: A 300G folder becomes 890G when copied

Post by *nemadeka »

petermad wrote: 2022-09-04, 22:33 UTC 2nemadeka
There are som setings you can use in wincmd.ini to control how LNK folders should be copied:
As I said before, the greatest challenge of TC is not coding or porting to Android, but writing an easily comprehensible, well-structured help.

I am a freelance translator (I understand IT, legalese, and cutting-edge tech), I wrote a freeware program and a manual for it, but I have difficulties understanding TC Help kindly quoted above, and navigating it in the program.

I briefly mentioned this issue when it was discovered that TC's feature of file search according to geotag data is so deeply secret, that nobody can understand how to use it, including TC creator, who, additionally cannot explain this feature in plain human language.

When sales go down, please, remember my advice.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: A 300G folder becomes 890G when copied

Post by *Hacker »

nemadeka,
I assume CopyLinks=2 (copy links as links while also adjusting the target they point to if possible) is what you'd prefer.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
isidro
Junior Member
Junior Member
Posts: 96
Joined: 2006-03-21, 04:39 UTC
Location: argentina

Re: A 300G folder becomes 890G when copied

Post by *isidro »

Is there a way to avoid links being followed when calculating CRCs ?
nice
Junior Member
Junior Member
Posts: 84
Joined: 2018-03-12, 23:58 UTC

Re: A 300G folder becomes 890G when copied

Post by *nice »

petermad wrote: 2022-09-05, 08:52 UTC IgnoreLinks only has effect if CopyLinks=0

Copylinks is about HOW to copy links, and IgnoreLinks is about WHEN to process links (when Copylinks is set to 0)
don't understand
CopyLinks is for copy/move/calculate occupied space, and IgnoreLinks=1 is for copy/move/calculate occupied space
IgnoreLinks only has effect if CopyLinks=0
CopyLinks=0 - Copy links as dirs or ignore them (if IgnoreLinks has been set)

>>> CopyLinks only has effect if IgnoreLinks=0 ???
ignore them
*is ignore a:
- copy as file
- copy as link
- don't copy ?
WHEN to process links
CopyLinks=1(2), IgnoreLinks=ignored -- don't copy/move/calculate occupied space
IgnoreLinks=1, CopyLinks=ignored -- don't copy/move/calculate occupied space
IgnoreLinks only has effect if CopyLinks=0
so, for CopyLinks=2, :
- no ability to "ignore" links in archives
- no ability to "ignore" links in search

and what for CopyLinks=0 and IgnoreLinks=2/4/8 but not "1: copy/move/calculate occupied space"? will be they copied or moved? or just *ignored (see *)?
ghisler(Author) wrote: 2018-07-25, 13:06 UTC No, unfortunately file symlinks cannot currently be copied, only directory symlinks.
what should mean "unfortumately"?
ghisler(Author) wrote: 2013-09-10, 21:01 UTC 3) Sorry, currently only directory symlinks are supported. While it would be quite easy to support the newer symbolic links, the older hard links are quite a nightmare (there is no main file and links pointing to it). But supporting only the newer symbolic links would be inconsistent.
2013
ghisler(Author) wrote: 2013-09-10, 21:01 UTCWhile it would be quite easy to support the newer symbolic links
>>> No, unfortunately
ghisler(Author) wrote: 2013-09-10, 21:01 UTCthe older hard links are quite a nightmare
it's a different story
ghisler(Author) wrote: 2013-09-10, 21:01 UTCBut supporting only the newer symbolic links would be inconsistent.
Then it is better to not support anything than at least a symlinks
ghisler(Author) wrote: 2013-09-10, 21:01 UTCnewer
>>> never
Post Reply