Support for \\?\Volume{GUID}\
Moderators: white, Hacker, petermad, Stefan2
-
- Senior Member
- Posts: 276
- Joined: 2011-11-15, 06:14 UTC
- Location: DE\BN - only part time TC user after switching to Linux ;)
Support for \\?\Volume{GUID}\
While browsing the web for solutions for the problem that my USB Drive changes its drive letter, i found out the following:
you can address media in Windows (similar to Linux /media/medianame) by addressing it using the GUID (which is of course different for each media on every system/installation).
That means if you execute "mountvol.exe" it will show you all connected Medias GUID.
Then you can access this path in Windows Explorer by pasting
\\?\Volume{GUID}\
and it will open the root of the drive.
For me this seems very practical, because i do not have Administrative privileges to change the Drive letter once it is (by accident or by random...) changed again.
I always have to adjust my totalCommander-Synctool presets then - or change it manually each time.
Its very frustrating.
However if pasting that GUID-based path into Totalcommander, TC does not understand it.
Is it easy to make TC support these kind of "hardlinks" to Removeable media?
Then i could simply store the path in the Sync Preset and hopefully would never ever again need to adjust it either in the wincmd.ini or manually in the sync window.
- I know its some weird workaround for a totally different root cause (drive letter changes), but as i cant change the drive letter easily (or is there a way that does not require Admin privileges or additional 3rd party software that i have not yet found?) it seeems a viable option to me.
What do you think about this?
br
seb
you can address media in Windows (similar to Linux /media/medianame) by addressing it using the GUID (which is of course different for each media on every system/installation).
That means if you execute "mountvol.exe" it will show you all connected Medias GUID.
Then you can access this path in Windows Explorer by pasting
\\?\Volume{GUID}\
and it will open the root of the drive.
For me this seems very practical, because i do not have Administrative privileges to change the Drive letter once it is (by accident or by random...) changed again.
I always have to adjust my totalCommander-Synctool presets then - or change it manually each time.
Its very frustrating.
However if pasting that GUID-based path into Totalcommander, TC does not understand it.
Is it easy to make TC support these kind of "hardlinks" to Removeable media?
Then i could simply store the path in the Sync Preset and hopefully would never ever again need to adjust it either in the wincmd.ini or manually in the sync window.
- I know its some weird workaround for a totally different root cause (drive letter changes), but as i cant change the drive letter easily (or is there a way that does not require Admin privileges or additional 3rd party software that i have not yet found?) it seeems a viable option to me.
What do you think about this?
br
seb
seb-,
Actually you can make a mount point to your USB volume, and it will look just like a regular folder located in a place you like. Once created, such mount point will show volume contents to your USB volume regardless of drive letter assigned to it. So you can create such mount point in the same place for all your computers and refer your USB volume by path to such mount point.
Such mount point may be created via disk management console (where you change volume drive letter), or via console tool mountvol, also you can create an empty folder and set its target path attribute via NTLinks plugin, it supports volume GUIDs.
Please keep in mind that volume GUIDs for the same volume are different in different Windows installations (they are assigned by Windows somehow and are not stored in volume) so it has no sense to sync such setting between multiple computers.
Actually you can make a mount point to your USB volume, and it will look just like a regular folder located in a place you like. Once created, such mount point will show volume contents to your USB volume regardless of drive letter assigned to it. So you can create such mount point in the same place for all your computers and refer your USB volume by path to such mount point.
Such mount point may be created via disk management console (where you change volume drive letter), or via console tool mountvol, also you can create an empty folder and set its target path attribute via NTLinks plugin, it supports volume GUIDs.
Please keep in mind that volume GUIDs for the same volume are different in different Windows installations (they are assigned by Windows somehow and are not stored in volume) so it has no sense to sync such setting between multiple computers.
-
- Senior Member
- Posts: 276
- Joined: 2011-11-15, 06:14 UTC
- Location: DE\BN - only part time TC user after switching to Linux ;)
Thanks for your reply MVV!
I'll try it tomorrow.
would be easier if it worked similar to linux
Yeah i read about this, but disk management console seems to require admin privileges. Symlinks also require Admin rightsMVV wrote:seb-,
Such mount point may be created via disk management console
I'll try it tomorrow.
I also found this out alreadyMVV wrote: Please keep in mind that volume GUIDs for the same volume are different in different Windows installations (...)
would be easier if it worked similar to linux
-
- Senior Member
- Posts: 276
- Joined: 2011-11-15, 06:14 UTC
- Location: DE\BN - only part time TC user after switching to Linux ;)
After a lot of tries with mountvol and guid path i realized it does not work
But
mklink /j junction guid_path
indeed works without admin privileges. So that helps for the moment. Thanks for that good hint!
But anyway i'd still appreciate to hear if it is easy to implement into TC that GUID Paths are directly supported?
brs
But
mklink /j junction guid_path
indeed works without admin privileges. So that helps for the moment. Thanks for that good hint!
But anyway i'd still appreciate to hear if it is easy to implement into TC that GUID Paths are directly supported?
brs
Yes, actually mountvol only supports just GUIDs, w/o subpaths, and it not only creates a junction, it also stores information about it somewhere in registry (that's why it requires admin rights).
BTW I just tested TC with volume GUID: cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\ doesn't work but cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\Docs\ does! And I can go up and see root items, but Ctrl+R causes error. I think it should be easy to fix since Windows itself supports such paths.
BTW I just tested TC with volume GUID: cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\ doesn't work but cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\Docs\ does! And I can go up and see root items, but Ctrl+R causes error. I think it should be easy to fix since Windows itself supports such paths.
Any news on this topic?
I vote for implementing support for \\?\Volume{GUID}\ in TC
Works for me here (9.20b2):
It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
Tried on Vista 32-bit in the command line of TC 9.20 beta 3: cd \\?\Volume{GUID_by_mountvol}\ - doesn't work. However, \\?\Volume{GUID_by_mountvol}\ opens the location in Explorer.MVV wrote:Works for me here (9.20b2)
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708
I use 9.12 (latest non-beta) and neither command works. So there must be some changes in the latest 9.20b2MVV wrote:Works for me here (9.20b2):It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
When will 9.20 be released?
The newest is 9.20b3 and there is no problem using TC betas.guRed wrote:I use 9.12 (latest non-beta) and neither command works. So there must be some changes in the latest 9.20b2MVV wrote:Works for me here (9.20b2):It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
When will 9.20 be released?
Windows 11 Home x64 Version 23H2 (OS Build 22631.3527)
TC 11.03 x64 / x86
Everything 1.5.0.1373a (x64), Everything Toolbar 1.3.3, Listary Pro 6.3.0.77
QAP 11.6.3.3 x64
TC 11.03 x64 / x86
Everything 1.5.0.1373a (x64), Everything Toolbar 1.3.3, Listary Pro 6.3.0.77
QAP 11.6.3.3 x64
It's interesting: on Vista 32-bit TC 9.20 beta 3 opens such paths if used as a parameter to %COMMANDER_EXE%:
%COMMANDER_EXE% /L=\\?\Volume{GUID_by_mountvol}\
TC also opens shortcuts (LNKs) created by Explorer for such paths.
But it doesn't work if used with cd command from a command line or a button bar.
Also, TC only shows internal context menu for files there, while Explorer shows full own menu even with items from shell extensions.
%COMMANDER_EXE% /L=\\?\Volume{GUID_by_mountvol}\
TC also opens shortcuts (LNKs) created by Explorer for such paths.
But it doesn't work if used with cd command from a command line or a button bar.
Also, TC only shows internal context menu for files there, while Explorer shows full own menu even with items from shell extensions.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708