C# 显示路径中的文件夹名称
我有个问题,我想你可以帮我 我想比较两个目录下面的代码工作,但我有一个问题,以显示结果。我想制作一个步骤列表,展示如何使两个目录的结构显示为相同 我有此代码,我不知道如何从目录1+文件名中添加文件夹名:C# 显示路径中的文件夹名称,c#,wpf,directory,directoryinfo,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 sna
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添加到listbox
好的,我会给你一个例子,希望我有一个类似的目录:C:\Users\User\Desktop\Test1在这个目录中是子目录和文件现在我要展示一个列表,如何使这些目录的结构与C:\Users\Jonas\Desktop\Test2相同,所以当我在Test1中有一个文件夹Test12,在这些文件夹中有一个text123.txt文件,带有路径:C:\Users\User\Desktop\Test1\Test12\text123.txt我可以在列表框中添加谁,比如Create:C:\Users\User\Desktop\Test2\Test12\text123.txt当然,路径并不总是相同的为了从路径中提取文件夹,换句话说,即目录名,您可以使用path.GetDirectoryName方法,如中所述: 另外,请参阅中给出的C用法示例:
关于这一点,只需再看一眼FileInfo类。它还具有DirectoryName之类的方法/属性,您应该将这些方法/属性应用于dir1或列表1中的任何文件。你可能想要的是“名字”而不是全名。字符串文件名=@C:\TMP\log.txt;FileInfo FileInfo=新的FileInfofileName;如果fileInfo.Exists{return;}Console.WriteLine{0}的目录名为{1},文件名为fileInfo.directoryName;你到底有什么问题?给我们举个例子,你想做什么还不是很清楚。@MarcelN。好的,我会给你一个例子,希望我有一个类似于:C:\Users\User\Desktop\Test1的目录在这个目录中是子目录和文件现在我必须展示一个列表,如何使这些目录的结构与C:\Users\Jonas\Desktop\Test2的结构相同,所以当我在Test1中有一个文件夹Test12,在这些文件夹中有一个text123.txt文件,路径是:C:\Users\User\Desktop\Test1\Test12\text123.txt我可以在列表框中添加谁,比如Create:C:\Users\User\Desktop\Test2\Test12\text123.txt当然路径不是每次都一样
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 ''
*/