找到UNC路径的一部分并输入变量?

Ref*_*din 1 .net c# string

我试图剥离正在传递的unc路径的最后一部分,并将其放在一个变量中,以便在进一步使用的方法中使用.

示例路径是 - > \\ourfileserver\remoteuploads\countyfoldername\personfoldername

我该如何剥离countyfoldername它?

我曾想过试试

var th = e.FullPath.LastIndexOf('\\');
        var whichFolder = folderPath.Substring(th);
Run Code Online (Sandbox Code Playgroud)

但这是一个逃避角色,它也不喜欢@.

这是否是正确的方向?


我想我有些困惑. LastIndexOf不起作用,因为我需要的countyfoldername是,在我的例子中,它发生在3/4的路上.

另外,我需要countyfoldername存储在变量中,而不是文件名本身.

为了给出一些上下文,我有一个FileSystemWatcher在服务中运行的.它正在监视单个文件夹路径,并在那里创建文件时通过电子邮件发送.现在我需要修改它.现在该文件夹路径中有4个县文件夹,我需要根据文件的创建位置向其他电子邮件地址发送电子邮件.

如果我能弄清楚如何可靠地获取县文件夹名称,我可以使用一个简单的switch语句.

谢谢

mbc*_*ump 5

实际上,您应该使用Uri Class并将其分成几个部分.

    Uri uri = new Uri(@"\\ourfileserver\remoteuploads\countyfoldername\personfoldername");
    Console.WriteLine(uri.Segments[3]); // personfoldername
    Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

  • PS:当您获取细分时,它采用转义格式.例如,"我的文件夹"将显示为"我的%20Folder".需要调用静态方法Uri.UnescapeDataString来获取实际名称. (2认同)