C# 在路径中使用文件夹而不是驱动器号指定

C# 在路径中使用文件夹而不是驱动器号指定,c#,networking,filepath,C#,Networking,Filepath,列出文件路径时,是否有方法使用映射的网络驱动器文件夹而不是驱动器?例如,我有一个具有此路径位置的文件;N:\COMMON\Test.xls,N:驱动器是“c103d213”上的c103d213,因此文件夹是\c103d213\c103d213。我不想在其中硬编码驱动器号,因为根据人们设置驱动器的方式,他们的N:drive可能与我的完全不同。您可以使用WMI获取映射。我以前在一个项目中使用过: string mapping = null; var searcher = new Managemen

列出文件路径时,是否有方法使用映射的网络驱动器文件夹而不是驱动器?例如,我有一个具有此路径位置的文件;N:\COMMON\Test.xls,N:驱动器是“c103d213”上的c103d213,因此文件夹是\c103d213\c103d213。我不想在其中硬编码驱动器号,因为根据人们设置驱动器的方式,他们的N:drive可能与我的完全不同。

您可以使用WMI获取映射。我以前在一个项目中使用过:

string mapping = null;

var searcher = new ManagementObjectSearcher("root\\cimv2", "select Caption,ProviderName from Win32_MappedLogicalDisk");
foreach (ManagementObject drive in searcher.Get())
{
    if (drive["Caption"].ToString() == driveLetter)
    {
        mapping = drive["ProviderName"].ToString();
        break;
    }
}

为服务器/文件夹名称发布更多易读的名称怎么样(
N:drive是'c103d213'
上的c103d213)。只需使用UNC名称-
@“\\c103d213\c103d213
。看看维基百科上的UNC。@Tim你是什么意思?@I4V-没有任何意义(至少我能看到)对你的评论,我觉得这是相当轻率和无用的,至少没有进一步的背景。