显示路径中的文件夹名称

时间:2014-08-02 13:50:32

标签: c# wpf directory directoryinfo

我遇到了问题,我认为你可以帮助我。

我想比较以下代码的两个目录,但是我有一个问题来显示结果。我想列出一些步骤,说明如何使两个目录的结构显示相同。

我有这段代码,我不知道如何从目录1 +文件名中添加文件夹名称:

System.IO.DirectoryInfo dir1 = new System.IO.DirectoryInfo(pathA);
System.IO.DirectoryInfo dir2 = new System.IO.DirectoryInfo(pathB);

// Take a snapshot of the file system.
IEnumerable<System.IO.FileInfo> list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
IEnumerable<System.IO.FileInfo> list2 = dir2.GetFiles("*.*", System.IO.SearchOption.AllDirectories);

foreach (var v in queryList1Only)
{
    listbox_2f.Items.Add("Create: "+ dir2.FullName+ "\\" +   v.Name);
}

如何解决这个问题,我可以将目录1中的foldernames添加到列表框中。

好的我会给你一个例子,我希望我有一个目录:C:\ Users \ User \ Desktop \ Test1在这个目录中是子目录和文件现在我必须显示一个列表如何使这些目录的结构相同从C:\ Users \ Jonas \ Desktop \ Test2开始,所以当我在示例中的Test1中有文件夹Test12,并且在这些文件中有一个text123.txt文件,其路径为:C:\ Users \ User \ Desktop \ Test1 \ Test12 \ text123。 txt我可以在列表框中添加类似&#34;创建:C:\ Users \ User \ Desktop \ Test2 \ Test12 \ text123.txt&#34;当然,路径不是每次都相同

1 个答案:

答案 0 :(得分:0)

为了从路径中提取文件夹(换句话说,目录)名称,您可以使用Path.GetDirectoryName()方法详细说明:http://msdn.microsoft.com/en-us/library/system.io.path_methods%28v=vs.110%29.aspx

另外,请参阅:http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname%28v=vs.110%29.aspx

中给出的C#用法示例
string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;
int i = 0;

while (filePath != null)
{
    directoryName = Path.GetDirectoryName(filePath);
    Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", filePath, directoryName);
    filePath = directoryName;
    if (i == 1)
    {
        filePath = directoryName + @"\";  // this will preserve the previous path
    }
    i++;
}
/*
This code produces the following output:

GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/

此致