Integrate NTFS Streams handling into TC

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

tommy0910
Junior Member
Junior Member
Posts: 37
Joined: 2004-07-08, 09:22 UTC

Post by *tommy0910 »

ghisler(Author) wrote:I'm not quite sure what you expect from me. I don't think that it would make sense to show ADS together with files in normal file lists. This would require calling a loop of FindFirstStreamW/FindNextStreamW for each file, which would be terribly slow with many files. A packer plugin (for Ctrl+PageDown) would be a possibility, but would block access to any other packer plugins for all files. A property sheet extension (Alt+Enter) would problably be the best solution, but that wouldn't have to be done by myself.
Any news on this?

I think totalcmd is a very professional tool for dealing with files and as such should support ADS.

The way I would prefer is seeing each ADS as an invidual file in the file listing (with size, modification date, etc.). You could require the user to enable it via a preference in wincmd.ini if you think it might be slow. Ain't there a possibility to query the number of containing ADS together with the other file properties? In this case I doubt it would be slow as the loop would mostly run 0 times.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

As I wrote, showing all ADS for all files in a file list would be horribly slow, so this isn't an option.
Author of Total Commander
https://www.ghisler.com
xakepp35
Junior Member
Junior Member
Posts: 3
Joined: 2013-10-25, 02:46 UTC

Post by *xakepp35 »

ghisler(Author) wrote:As I wrote, showing all ADS for all files in a file list would be horribly slow, so this isn't an option.
tommy0910 mentioned:
tommy0910 wrote: You could require the user to enable it via a preference in wincmd.ini if you think it might be slow.
voting up for adding such an option!! its essential opportunity to be able to view ADS as files
Velt
New Member
New Member
Posts: 1
Joined: 2015-03-01, 17:17 UTC

Post by *Velt »

xakepp35 wrote:
ghisler(Author) wrote:As I wrote, showing all ADS for all files in a file list would be horribly slow, so this isn't an option.
tommy0910 mentioned:
tommy0910 wrote: You could require the user to enable it via a preference in wincmd.ini if you think it might be slow.
voting up for adding such an option!! its essential opportunity to be able to view ADS as files
+1
it should be made available as an option, which is disabled by default.
Elendacil
Junior Member
Junior Member
Posts: 34
Joined: 2005-08-14, 22:09 UTC
Location: Finland

Post by *Elendacil »

ghisler(Author) wrote:As I wrote, showing all ADS for all files in a file list would be horribly slow, so this isn't an option.
How about just creating a new dedicated window that lists the alternate data streams when the user presses some "Show ADS for selected files and directories" option in the menu? For example... That should help with the speed issue.

It wouldn't much help for those who want to see all ADS all the time, but it would be something.
Sob
Power Member
Power Member
Posts: 941
Joined: 2005-01-19, 17:33 UTC

Post by *Sob »

I couldn't care less about ADS, but the speed argument is IMHO wrong. I mean, what's better:

a) to see ADS and make TC slow, but only if user explicitly chooses the option
b) not be able to see ADS at all

How can not a) be the right answer? That is, if we don't count the best:

c) make the option (off by default) AND nice quick switch command similar to cm_SwitchHidSys

That way, it actually becomes useful for everyone, who just needs to check ADS from time to time. If I don't usually need it, I can enjoy fast TC. And if I want to have a peek at ADS, I'm just one click of a button away. And then I can turn it off again.
miroslav.vrlik
Junior Member
Junior Member
Posts: 19
Joined: 2006-04-12, 07:20 UTC

Post by *miroslav.vrlik »

Christian, it would not be totally slow

when I run

Code: Select all

dir > out.txt
in C:\Windows\System32, I get

2 seconds for reading dirs and subdirs without ADS:

Code: Select all

dir /s > out.txt
4 seconds for reading dirs and subdirs with ADS:

Code: Select all

dir /s /R > outR.txt
So for example if TCMD can read the folder in 3 ms, reading including ADS would take 6 ms. Definitely worth a consideration to include ADS display as an option.

Important: do not measure the first attempt. Repated attemps have different performance.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

miroslav.vrlik,
do not measure the first attempt. Repated attemps have different performance.
Isn't the first attempt the most important? Everything is fast when cached.

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.
tommy0910
Junior Member
Junior Member
Posts: 37
Joined: 2004-07-08, 09:22 UTC

Re: Integrate NTFS Streams handling into TC

Post by *tommy0910 »

Any news on this?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Integrate NTFS Streams handling into TC

Post by *Horst.Epp »

I don't know any file manager that displays all stream names in its file list.
There is the Nirsoft tool AlternateStreamView which can do that if needed.

In TC, I extensively use ADS streams to add tags and comments to files using the NTFS_diz plugin.
I also use file coloring, depending on some ADS stream content.
Everything indexes my stream contents, so I can global search for such tags, comments or colors
in Everything, TC and in my 2nd file manager, XYplorer.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Integrate NTFS Streams handling into TC

Post by *ghisler(Author) »

There is a newer NTFS file streams plugin which is also available as 64-bit:
http://totalcmd.net/plugring/wdx_ntfs_file_streams.html

With the parameters supported by cm_copyfiledetailstoclip you can copy just the stream names, e.g.
cm_copyfiledetailstoclip 2
would copy the first user defined column to the clipboard,
cm_copyfiledetailstoclip 4
the second,
cm_copyfiledetailstoclip 8
the third etc.
Author of Total Commander
https://www.ghisler.com
serjayes
Junior Member
Junior Member
Posts: 56
Joined: 2004-01-19, 16:53 UTC

Re: Integrate NTFS Streams handling into TC

Post by *serjayes »

Hi, if I understand correctly, since a while TC, during the extraction of the archives, if the archive was previously downloaded, creates alternate data streams (a new file which is harder to see but exists) for every item extracted. Is there a way to disable that behavior?

This results in my case in immense number of totally unnecessary files that are visible only with dir /R but that are taking space and time, including the time to archive the files later, if the archiving program preserves these files. But the only information preserved that way is "this comes from something downloaded" which is not too useful in my use case -- almost everything on my machine could be considered as "downloaded" before. I know that the marker allows the Explorer to warn before a double click, but most of the files aren't executable, and it's then not worth considering if it was from some archive downloaded once.

Code: Select all

dir /R
...
04.08.2023  04:44            70,219 d2d1_1.h
                                 26 d2d1_1.h:Zone.Identifier:$DATA
04.08.2023  04:44             4,241 d2d1_1helper.h
                                 26 d2d1_1helper.h:Zone.Identifier:$DATA
04.08.2023  04:44             1,473 d2dbasetypes.h
                                 26 d2dbasetypes.h:Zone.Identifier:$DATA
04.08.2023  04:44             2,021 d2derr.h
                                 26 d2derr.h:Zone.Identifier:$DATA
04.08.2023  04:44            96,719 d3d.h
                                 26 d3d.h:Zone.Identifier:$DATA
04.08.2023  04:44           222,061 d3d10.h
                                 26 d3d10.h:Zone.Identifier:$DATA
04.08.2023  04:44            49,757 d3d10effect.h
                                 26 d3d10effect.h:Zone.Identifier:$DATA
04.08.2023  04:44             1,690 d3d10misc.h
                                 26 d3d10misc.h:Zone.Identifier:$DATA
...
(user licence #64081)
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Integrate NTFS Streams handling into TC

Post by *Dalai »

serjayes wrote: 2023-10-23, 09:44 UTC[...] creates alternate data streams (a new file which is harder to see but exists) for every item extracted.
It's not a file but a stream.
This results in my case in immense number of totally unnecessary files that are visible only with dir /R [...]
There are other ways to see such streams: Sysinternals Streams, NirSoft AlternateStreamView and probably others.
Is there a way to disable that behavior?
Add this to your wincmd.ini via menu Configuration > Change Settings Files Directly

Code: Select all

[Configuration]
WantZoneData=0
Make sure to add it to the correct section and it's present only once. You can read about the setting in TC help, section 4.b, part 2.

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
petermad
Power Member
Power Member
Posts: 14739
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: Integrate NTFS Streams handling into TC

Post by *petermad »

There are other ways to see such streams
They can also be seen with the internal tc content plugin: tc.ZoneId, tc.HostUrl and tc.ReferrerUrl
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
serjayes
Junior Member
Junior Member
Posts: 56
Joined: 2004-01-19, 16:53 UTC

Re: Integrate NTFS Streams handling into TC

Post by *serjayes »

Dalai wrote: 2023-10-23, 12:21 UTC
Is there a way to disable that behavior?
Add this to your wincmd.ini via menu Configuration > Change Settings Files Directly

Code: Select all

[Configuration]
WantZoneData=0
Make sure to add it to the correct section and it's present only once. You can read about the setting in TC help, section 4.b, part 2.
Many thanks! I was able to find by searching for WantZoneData in Help and find it in "Ini File Settings part 2: Configuration N-Z", I didn't know how I could navigate to "the Section 4.b". Now, thinking more, I guess you count the "books" displayed.

Anyway, there I see only

Code: Select all

WantZoneData=7 Stores Zone Transfer data in NTFS streams:
1: enabled
2: Internet http
4: Anonymous ftp
8: ftp with login
16: Intranet-http
and I still don't know what exactly that entry is supposed to control. Is "enabled" (1) only about copying out of the packed files using local packer? How does the feature which can be enabled or disabled actually work? Is there a description of that somewhere? What's affected and what isn't? Thanks.

Also thanks for Streams correction, which motivated me to find other "known" streams: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/4f3837c4-2f96-40d7-b0bf-80dd1d0b0da0
(user licence #64081)
Post Reply