NTLinks + NTLinksMaker: NTFS links creation and information
Moderators: white, Hacker, petermad, Stefan2
Couly you please add one field (or multiple fields/units) to display all the file names of a hard linked file. I found one example here: http://blogs.msdn.com/b/oldnewthing/archive/2011/07/20/10188033.aspx
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
tbeu, thanks for idea, I've added such feature, please test it.
NTLinks 1.5.2.180 32/64
You can see all hardlinks in single string or get them one by one. Plugin allows to return first 10 items (with indexes 0-9), I think it is enough.
NTLinks 1.5.2.180 32/64
You can see all hardlinks in single string or get them one by one. Plugin allows to return first 10 items (with indexes 0-9), I think it is enough.
Wow, that was quick! Thank you! Cannot test on WinXPSP3MVV wrote:I've added such feature, please test it.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
Yes, unfortunately XP doesn't provide similar API, so this field doesn't work here (the only way to find hardlinks on XP is to copy file index and search all files with same index within whole drive). And I need to link theese functions dynamically to keep backward compatibility.tbeu wrote:Wow, that was quick! Thank you! Cannot test on WinXPSP3MVV wrote:I've added such feature, please test it.
I've tried "\n" and "\r\n" first of all, but TC replaces them with spaces and wraps long lines itself, it looks quite ugly. So I think comma is the best of the rest.zeeko wrote:Is it possible to have a custom separator for file names? LineFeed (\n) separator would be great for tooltips (each file name in the new row).
But you can use construction like [=ntlinks.HLNK_Paths.0]\n[=ntlinks.HLNK_Paths.1]\n[=ntlinks.HLNK_Paths.2]... to see any number of items on separate lines (if the field is empty, empty line will be shown).
I did some search how to get target file size. There is a flag in CreateFile function responsible for symlink processing. If dwFlagsAndAttributes param contains FILE_FLAG_OPEN_REPARSE_POINT value, functions GetFileSize, GetFileSizeEx, GetFileInformationByHandle, GetFileInformationByHandleEx,... return symbolic link size - 0 bytes. If file is open without FILE_FLAG_OPEN_REPARSE_POINT value, functions return target file size > 0 bytes. Could you please check this, and if it works, add another field with target file size?
I thought about it, but I was too lazy to add field with such ammount of units (tc.size provides 8 units - bytes, kbytes, Mbytes, Gbytes and floating ones). Maybe I'll add such field with only integral units.
Well, I found extra compact way to work with units (B, KB, MB, GB).
NTLinks 1.5.2.190 32/64
+ new field to get real size of a file behind symlink
Well, I found extra compact way to work with units (B, KB, MB, GB).
Code: Select all
filesize.QuadPart>>=10*UnitIndex;
NTLinks 1.5.2.190 32/64
+ new field to get real size of a file behind symlink
Well, sorry.
I'm using only TCx86 usually (but I have 64-bit versions for tests), so didn't notice that.
Package is updated.
Added on Feb 06 2012:
New version is out, a pair of bugs was fixed.
NTLinks 1.5.3.200 32/64
* wrong real path for file symlinks
* full target was shown instead of relative one sometimes
I'm using only TCx86 usually (but I have 64-bit versions for tests), so didn't notice that.
Package is updated.
Added on Feb 06 2012:
New version is out, a pair of bugs was fixed.
NTLinks 1.5.3.200 32/64
* wrong real path for file symlinks
* full target was shown instead of relative one sometimes
Another pair of bugs fixed.
NTLinks 1.5.3.214 (changes since 1.5.3.200):
* improved junction detection if path starts with volume GUID
* ANSI to Unicode conversion bug in non-Unicode functions (introduced in 1.5.0.108)
NTLinks 1.5.3.214 32/64
NTLinks 1.5.3.214 (changes since 1.5.3.200):
* improved junction detection if path starts with volume GUID
* ANSI to Unicode conversion bug in non-Unicode functions (introduced in 1.5.0.108)
NTLinks 1.5.3.214 32/64