ignoreLinks not working for CRC calculation

English support forum

Moderators: white, Hacker, petermad, Stefan2

Post Reply
isidro
Junior Member
Junior Member
Posts: 96
Joined: 2006-03-21, 04:39 UTC
Location: argentina

ignoreLinks not working for CRC calculation

Post by *isidro »

I'm trying to have CRC files of system disk before backup, but it's imposible due to links being followed (ie: Users and Program Data have infinite recursive links) so I can't accomplish that task, even after finding the obscure ignoreLinks=1 option (which should accesible frome settings).
Any workaround? ntlinks problem management in TC is very bad now.
User avatar
beb
Senior Member
Senior Member
Posts: 432
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Re: ignoreLinks not working for CRC calculation

Post by *beb »

What about this?:

Configuration - Options.../Operation - Ignore List > [+] Ignore (don't show) the following files and folders : *.lnk
#278521 User License
Total Commander [always the latest version, including betas] x86/x64 on Win10 x64/Android 10
isidro
Junior Member
Junior Member
Posts: 96
Joined: 2006-03-21, 04:39 UTC
Location: argentina

Re: ignoreLinks not working for CRC calculation

Post by *isidro »

Problem is with nt symlinks, not with files *.lnk. Please try to calculate CRC of all "C:\Program Data" folder, and you will see the problem.
User avatar
beb
Senior Member
Senior Member
Posts: 432
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Re: ignoreLinks not working for CRC calculation

Post by *beb »

isidro wrote: 2023-03-30, 01:41 UTC Problem is with nt symlinks, not with files *.lnk. Please try to calculate CRC of all "C:\Program Data" folder, and you will see the problem.
I did. It took less than 2 minutes to calculate CRC of %ProgramData% (4316 entries) on a ten-year-old notebook. And I couldn't see any issues, except those tied to some files which happened to refuse to be opened for processing and it's been annoying to press ignore in each case (luckily, there were only 23 ones in my case) [it proved there's no option to ignore all such items that could be useful in such scenario].
(Nirsoft's) NTFSLinksView says there're 128 such NTFS links in my %ProgramData%.
So I don't have any problems like yours, sorry.
#278521 User License
Total Commander [always the latest version, including betas] x86/x64 on Win10 x64/Android 10
User avatar
beb
Senior Member
Senior Member
Posts: 432
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Re: ignoreLinks not working for CRC calculation

Post by *beb »

Tried it on another PC.
This time it had %ProgramData% with 11232 entries, from which for 11214 ones CRC were calculated and 18 were missed as inacessible (so again I was forced to press 'Ignore' button), and with 3667 NTFS links (hard links and junctions, including %ProgramData%\Application Data\). Task had been accomplished within 2 minutes.

My .ini settings:

Code: Select all

[Configuration]
IgnoreLinks=0
CopyLinks=0
SyncIgnoreJunctions=0

Code: Select all

[b]IgnoreLinks:[/b]
Allows you to ignore hard links (junctions, reparse points) to directories in various functions. 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.
Note: The function "Synchronize dirs" uses a separate option "SyncIgnoreJunctions".

[b]CopyLinks:[/b]
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.
Maybe IgnoreLinks=31 [sum of 1+2+4+8+16], or something, might be useful in your case?
#278521 User License
Total Commander [always the latest version, including betas] x86/x64 on Win10 x64/Android 10
isidro
Junior Member
Junior Member
Posts: 96
Joined: 2006-03-21, 04:39 UTC
Location: argentina

Re: ignoreLinks not working for CRC calculation

Post by *isidro »

Thanks for the info, BTW Where can I find it?
My settings now are:
CopyLinks=2
IgnoreLinks=31
SyncIgnoreJunctions=0

If I count ProgramData files with Ctrl-Q: 1867 files but when I try to make a Blake CRC gives access error in file: 278 of 60423:
Can't open: ProgramData\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Microsoft\....

There are 31 recursive instances of "Application Data" ntlink to it's parent "ProgramData" Any thoughts?
(it's kind of stupid for a folder to point to it's parent, but ask Microsoft for it's horrible designs, not to mention WinSxS).
User avatar
Dalai
Power Member
Power Member
Posts: 9386
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: ignoreLinks not working for CRC calculation

Post by *Dalai »

For some reason there's one important piece of information missing from the English help (but is present in the German help): CopyLinks takes precedence over IgnoreLinks! If CopyLinks is set to a value greater than 0, IgnoreLinks doesn't have an effect (or is ignored, not sure but same result).

2ghisler(author):
If the above is true I strongly recommend to add this piece of information to the English help file.

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
beb
Senior Member
Senior Member
Posts: 432
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Re: ignoreLinks not working for CRC calculation

Post by *beb »

isidro wrote: 2023-03-30, 21:57 UTC If I count ProgramData files with Ctrl-Q...
I don't count it that way. The number gets shown in the TC subwindow if I start the CRC calculation with the cursor right on the ProgramData folder.
isidro wrote: 2023-03-30, 21:57 UTC ...CRC gives access error in file: 278 of 60423
I suppose there always would be some files that we cannot have access to for any purposes, including viewing, deleting, CRC calculations, etc (because they are opened in some running processes), and there's nothing to do with that.
isidro wrote: 2023-03-30, 21:57 UTC Thanks for the info, BTW Where can I find it?
On this particular occasion, it's been the "Ultra TC Editors" ("ultra_tc_editors_642.rar" with the latest "UltraTC_DataFiles1052a.zip" data file that can be downloaded, for example, here: https://madsenworld.dk/tcmd/UltraTC/, thanks to the user @petermad), and specifically "Configuration Editor.exe" tool (though I don't use any other of the available UltraTC tools, this one is pretty informative regarding the understanding of the Total Commander .ini)
#278521 User License
Total Commander [always the latest version, including betas] x86/x64 on Win10 x64/Android 10
isidro
Junior Member
Junior Member
Posts: 96
Joined: 2006-03-21, 04:39 UTC
Location: argentina

Re: ignoreLinks not working for CRC calculation

Post by *isidro »

beb wrote: 2023-03-30, 23:00 UTC I don't count it that way. The number gets shown in the TC subwindow if I start the CRC calculation with the cursor right on the ProgramData folder.
isidro wrote: 2023-03-30, 21:57 UTC ...CRC gives access error in file: 278 of 60423
I suppose there always would be some files that we cannot have access to for any purposes, including viewing, deleting, CRC calculations, etc (because they are opened in some running processes), and there's nothing to do with that.
What I meant with Ctrl-Q is that count is correctly shown without following useless recursive inner link. BUT, when I calculate CRC, I have the access error of some blocked files but very deep inside the (falsely reported by CRC: 60k files ), as the offending files are recursively read 31 times, it's endless. Besides, I want CRC calculation of the 2k real files present, not the 60k phantom files per useless link following.

Changed setting and restarted Total Commander but problem persists:
CopyLinks=0
IgnoreLinks=31
SyncIgnoreJunctions=0
Post Reply