How do I convert a path with a drive letter to a UNC path
Asked Answered
U

3

13

How do I convert a path with a drive letter like W:\Path\Share to the equivalent unc path like \\server\Share\File in .Net?

At the command prompt you can run net use and that will list the mappings. How do I get at that info in .Net?

Umbilication answered 17/2, 2009 at 12:53 Comment(0)
S
6

You can use P/Invoke and call on a native function such as WNetGetUniversalName.

Speed answered 17/2, 2009 at 13:12 Comment(1)
The WNetGetUniversalName function takes a drive-based path for a network resource and returns an information structure that contains a more universal form of the name. This only works for paths that you have already shared. It doesn't seem to work for local paths. ie if you are sharing d:\shared as \\mymachine\shared and you call WNetGetUniversalName it fails.Tonatonal
C
2

To get a list of the shared folders on the current machine in .NET you have to options:

Note that the calling process will have run in the context of a user with administrative privileges for this to work.

Corporal answered 17/2, 2009 at 13:14 Comment(0)
E
0

To answer your question about net use here is a good solution Get UNC Path for Mapped Drive VB.net

I like the net use way.

Equivoque answered 18/11, 2011 at 17:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.