Grouping by server name or IP in "my computer"

Would it be possible to add a grouping option for network-shares to be grouped by server-name or ip?

In these times working from home iwe been noticing that the network-shares really adds up and such a grouping option would speed navigation up.

Could you give some examples?

Server names and IP addresses are unique, so if you grouped by them in the basic sense, each server would be in a group on its own. Presumably you want to group by a prefix or suffix or something else?

well for me it would be sufficent just to group it by ip-address as i want to separate my local nas and my work-resources that are 2 shares on the same machine though.

But sure, as you asked might be a good idea as well to be able to create custom groupings, maybe with prefix or just be able to assign different shares in to different gorups in the lister?

Dunno if this is possible already or if it is more for like an feature-req.

These are the ones that i have today
H; SSD-Share, 2x512 Gb SSD in RAID1
I; Downloads-E;
J; D-Share;
K; Downloads-D
M; Backups-D
R; corp-drive
Y; corp-drive

All to M is on one machine
R,Y is a corp-server over VPN

Building a NAS with FreeNAS as well and that will add even more different shares.

Every server has a different IP address. (If they didn't, they'd be the same machine.)

I know, i am not sure what your point is?

One server can still host different shares, those will trace back to the same ip or FQDN.
As i wrote in my second answer, H-M is my local current NAS, R-Y is corp-shares.

There is no way today to group them by server-name or ip today to have them separated, and that was my initial question or feature-req if this isn't doable already.

Oh, I see what you mean. Multiple shares on the same server, rather than grouping drive letters by work/home.

You could do that using a script column which extracts the server name, which you then group by.

Here's something which does that, to get you started. You can modify it if you want different logic/grouping/names for things:

Once installed, there will be a new Script > Network Server column which you can add and/or sort and/or group by.

function OnInit(initData)
{
	initData.name = "Network Server Column";
	initData.version = "1.0";
	initData.copyright = "(c) 2020 Leo Davidson";
	initData.url = "https://resource.dopus.com/t/grouping-by-server-name-or-ip-in-my-computer/35265";
	initData.desc = "A network server column you can group by in This PC.";
	initData.default_enable = true;
	initData.min_version = "12.0";

	var col = initData.AddColumn();
	col.name = "NetworkServer";
	col.method = "OnNetworkServer";
	col.label = "Network Server";
	col.justify = "left";
	col.autogroup = true;
}

function OnNetworkServer(scriptColData)
{
	var item = scriptColData.item;
	if (!item.is_dir)
		return; // Ignore files.
	var path = item.path;
	if (path.test_parent || path.drive == 0)
		return; // Ignore anything that isn't a drive letter root.
	var pathString = path + ""; // Convert to string.

	if (pathString.slice(-1) != "\\")
		return; // Expected a backslash to be removed.
	pathString = pathString.slice(0,-1).toUpperCase();

	var network = new ActiveXObject("WScript.Network");
	var drives = network.EnumNetworkDrives();
	for(var i = 0; i < drives.Count(); i += 2)
	{
		// drives(n) is the drive letter like "X:", or blank if there isn't one.
		// drives(n+1) is the UNC path like "\\Server\Share".
		if (drives(i) != "" && drives(i).toUpperCase() == pathString)
		{
			var parts = drives(i+1).split("\\");
			if (parts.length > 3 && parts[0] == "" && parts[1] == "")
			{
				scriptColData.value = parts[2];
			}
			return;
		}
	}
}
3 Likes

Thank you!

edit; worked like a charm, really, thank you!

1 Like

4 posts were split to a new topic: 12.21.5 beta: Network path expanded in folder tree