NTLinks + NTLinksMaker: NTFS links creation and information

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Stefan2, white, sheep, Hacker

Post Reply
User avatar
DrShark
Power Member
Power Member
Posts: 1265
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262

Post by *DrShark » 2015-11-13, 10:46 UTC

MVV wrote:1. ... Or do you mean that newly created links don't have 8.3 names?
Yes.
MVV wrote:I can't add these names, it is OS who manages such things, I only call CreateHardLinkW function.
That's what I am interested in: to add 8.3 name to hardlink which don't have one. I had a hope for some Windows API for this, because... It is possible with regular files by copying or moving content of old file to a new file (it will have 8.3 name), then deleting old file and giving to new the name and and attributes of old. Unfortunately, the way in which hard links are created makes it's impossible to do the same with hard links. Anyway, if I'll find a way to add 8.3 names to files without "recreating", I will return to this suggestion.
MVV wrote:2. Unfortunately I can't check if NT4 supports hardlinks because oldest Windows NT I've seen is Windows 2000, so it would be nice to see some official documentation stated about this support.
Regarding 3rd party drivers - it is interesting to know but I don't want to mention non-official things.
Well, on microsoft website I found this:
hard-link = links in NTFS on the same volume (single mft entry)
* since NT4 (according to docs, but the CreateHardLink call
is not present in kernel32.dll from NT4, it is present in
the kernel32.dll from W2K)
There are no details about referenced "docs".
Android 4.3.1 no root, kernel 08.09.2016; Vista Home Premium SP2 rus 32 bit
TC #149847 Personal licence

Cuz we're all in this together, We're here to make it right

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-01-07, 09:33 UTC

Small bug fixed, a bit updated version of NTLinks is available.

NTLinks 1.6.0.244 32/64
* reading relative not null-terminated symlink paths

yjwself
Junior Member
Junior Member
Posts: 4
Joined: 2010-05-07, 02:02 UTC

Re: NTLinks + NTLinksMaker: NTFS links creation and informat

Post by *yjwself » 2016-05-13, 14:20 UTC

Can you give a example in [HintsCustomField](wincmd.ini) please ?! I don't know how to express <Symlink> or <SymlinkD> file type.

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-05-13, 15:38 UTC

You should create search templates for symlinks and then use these templates instead of just file masks: Configuration - Display - User-defined - Add - Define...
There you can add plugin rule for matching required file/folder type, e.g. [tc.file_type] = 'reparse point' (this will match junctions and file/folder symlinks) and save preset.

Screenshots

billiebub
Member
Member
Posts: 177
Joined: 2011-04-12, 19:49 UTC

NTFS links on mapped network share

Post by *billiebub » 2016-07-14, 14:28 UTC

I have a network share mapped to drive Z:\. I can create hard links but cannot create junctions. When viewing NTFS Links -> HLNK_Count, it always shows it as 1.

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-07-14, 14:40 UTC

Well, neither hardlinks nor junctions does support mapped drives, only NTFS volumes - as documentation and mklink/fsutil say...

It seems that Windows is unable to get real hardlinks count when remote folder is mapped so it shows 1. However when I mount a local dir, it shows correct value.

Anyway it is interesting how hardlink creation via network works, I've checked on server side and hardlinks are really created.

And, it is funny but I can really create junction in a mapped drive with NTLinks Maker too. However junctions are resolved by remote system so junction have to point to remote folder, not local one.
E.g. I've created a junction to my local C:\Windows folder but it shows contents of remote C:\Windows folder - what a wonderful security hole. :)

billiebub
Member
Member
Posts: 177
Joined: 2011-04-12, 19:49 UTC

Post by *billiebub » 2016-07-14, 17:44 UTC

Hmmm interesting. I can create junctions on mapped drive but i get an error with invalid function but if I retry it will eventually be created. I haven't tested if it's a true junction or just a directory with same name though.

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-07-14, 18:49 UTC

TC shows junctions and symlinks as folders with link icon so it is easy to detect them. Also I have special hints for reparse points showing link type and target, and it is very handy for me, and I have hints for files showing number of hard copies.

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-11-14, 12:45 UTC

Fixed broken UNC path support after adding long path support (UNC paths require non-standard long prefix).

NTLinks Maker 1.1.1.322
* source/target UNC path support (long path issue)

Hurdet
Senior Member
Senior Member
Posts: 430
Joined: 2003-05-10, 18:02 UTC

Post by *Hurdet » 2016-11-17, 13:43 UTC

Can i suggest to add "shortcut" item option to complete link types?

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-11-17, 17:56 UTC

You can suggest of course. :)
But I won't add this file type to the list of NTFS-level links, sorry.

User avatar
Dalai
Power Member
Power Member
Posts: 6562
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai » 2016-11-17, 19:49 UTC

2Hurdet
TC can already create shortcuts natively via Ctrl+Shift+F5 on any file.

[EDIT]
And I think it's called NTLinks(Maker) for a reason - shortcuts are not NT (style) links, but date back to the Win9x days.
[/EDIT]

Regards
Dalai
Last edited by Dalai on 2016-11-17, 21:45 UTC, edited 2 times in total.
#101164 Personal licence
Athlon X4 880K, 16 GiB RAM, Gigabyte F2A88X-D3HP, Win7 x64

Plugins: Services2, Startups

Hurdet
Senior Member
Senior Member
Posts: 430
Joined: 2003-05-10, 18:02 UTC

Post by *Hurdet » 2016-11-17, 21:23 UTC

I know it, but i prefer to have it in same NTLinksMaker gui.
Why NTLinksMaker is exe and not wcx64?

User avatar
MVV
Power Member
Power Member
Posts: 8252
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2016-11-18, 08:07 UTC

Hurdet wrote:Why NTLinksMaker is exe and not wcx64?
First of all, NTLinks Maker is a more powerful analog of existing NTFS Links tool which is an EXE so I didn't even think about WCX when I created it.

Also there are some more EXE benefits, e.g.:
1. Easier elevation for creating symlinks (it is easy to start another elevated instance of EXE and it is impossible to elevate WCX).
2. EXE may be used just from command line from TC buttonbar or EM-command/hotkey (like I do on Alt+F6) or even w/o TC at all.
3. Finally, you don't need to select it in list of packer plugins every time when you need to copy something (it is the most irritating part of TC pack dialog).

Now I think that perhaps I could easilly write my CopyTree as an EXE instead of WCX (which was created as WCX because it is a much more useful analog of existing WCX plugin TreeCopyPlus) and it would have all mentioned benefits...
Dalai wrote:And I think it's called NTLinks(Maker) for a reason - shortcuts are not NT (style) links, but date back to the Win9x days.
Even more, LNK files are not standard at all, have very strange undocumented format and may not be used instead of original files/folders like NTFS links (they may only be followed automatically in Open dialogs where Windows does that).

cipo
New Member
New Member
Posts: 1
Joined: 2016-12-13, 15:33 UTC

How work it?

Post by *cipo » 2016-12-13, 16:07 UTC

How can I use it?

I installed. Where is the button?
How call this dialog?
thx

(TC 8, win 7)

Post Reply