如何获得完整的路径?

时间:2013-08-27 19:47:15

标签: c#

总的来说,我试图从路径末尾取下文件名并显示路径的其余部分。 例如,此路径:C:\ Users \ Documents \ Development \ testing \ 11.0.25.10 \ AUW_11052_0_X.pts

我想剥离“AUW_11052_0_X.pts”文件,只显示“C:\ Users \ Documents \ Development \ testing \ 11.0.25.10 \”

究竟是怎么回事?我不知道如何将其变成正则表达式。

继承我的问题更详细:

我要做的是创建一个带有两个参数的正则表达式函数,原始路径然后是文件名(程序在某一点循环通过列表,其中存储所有文件并从中获取文件名)我打算创建一个正则表达式函数,在最后一个“\”字符之后抓取任何东西并将其与文件名参数进行比较。如果它确实匹配而不是剥离文件名,如果它没有,那么就把它留下来。我的问题是弄清楚如何做一个正则表达式模式,在最后一个“\”字符之后找到任何东西,我不知道如何

答案:我找到了答案,模式是^(.*[\\\/])这将抓住每个角色直到最后一个“\”

2 个答案:

答案 0 :(得分:11)

您正在寻找Path.GetDirectoryName()

答案 1 :(得分:0)

为什么你不能做这样的事情?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace directorysearch
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\users\documents\development\testing");
            FileInfo[] files = null;
            DirectoryInfo[] dirs = null;
            dirs = di.GetDirectories();
            foreach (DirectoryInfo dir in dirs)
            {
                files = dir.GetFiles("*", SearchOption.TopDirectoryOnly);
            }
        }
    }
}

这允许你输入基本路径(c:\ users \ documents \ development \ testing),然后操作下面的每个目录,然后操作每个目录下的每个文件?