如何通过提供网络路径来获取物理路径

时间:2010-11-29 12:51:00

标签: windows vb.net visual-studio-2010

现在我有一个问题,指向使用“路径”的物理和网络 我在服务器机器上有一个SQL服务器,我有一个用作客户端的台式机 我正在从我的客户端计算机上运行存储过程以添加流数据库 但是在我运行这个程序之前,我运行另一个准备所需“路径”的程序,这个程序需要:

myPath="\\Server\SharedFolder\SQL\

为了运行第一个程序,我必须在每个物理名称中转换myPath:

myPath="DriveLetter:\Public\WorkFiles\SQL\"

现在我的问题是我将如何拥有物理路径,它是在服务器上构建的,并且从非常困难(到不可能)知道它?
基本上我需要一个函数,它将返回物理路径,这是我不知道的实现。我的开发环境是vb.net 2010
有人帮我这个吗?

2 个答案:

答案 0 :(得分:1)

您可以使用NetShareEnum Windows API,将服务器名称作为第一个参数传递,级别为2或502.然后,您可以根据返回的路径进行匹配。

当然,您需要特殊的组成员资格(管理员,高级用户,打印操作员或服务器操作员)才能成功。

答案 1 :(得分:0)

像这样的东西

    Dim foo As String = "\\DLINK_NAS\Volume_1"
    Dim dirInfo As New IO.DirectoryInfo(foo)

    For Each drv As IO.DriveInfo In My.Computer.FileSystem.Drives
        If drv.IsReady AndAlso dirInfo.Name = drv.VolumeLabel Then
            'match here
        End If
    Next
相关问题