获取文件's根路径
本文关键字:路径 文件 获取 | 更新日期: 2023-09-27 18:12:51
我有这个代码从一个文件夹和它的子目录中获取所有的文件。
FolderBrowserDialog fb = new FolderBrowserDialog();
if (fb.ShowDialog() == DialogResult.OK)
{
foreach (string folder in System.IO.Directory.GetFiles(fb.SelectedPath, "*.*", System.IO.SearchOption.AllDirectories))
listBox1.Items.Add(Path.GetFullPath(folder));
}
但是它返回的文件路径是这样的: C: '用户桌面' '随机' TheSelectedFolder ' SubFolder1 ' Subfolder2 ' file.txt 我怎样才能使它只返回所选文件夹的名称加上子目录的路径?没有驱动器号,用户名等
silliness = Path.Combine( Path.GetDirectoryName(fb.SelectedPath),
folder.Replace(fb.SelectedPath, String.Empty)
)
如果使用
System.IO.Path.GetDirectoryName(filePath)
,
filePath = "C:'Users'RANDOM'Desktop'TheSelectedFolder'SubFolder1'Subfolder2'file.txt"
应该返回
`"C:'Users'RANDOM'Desktop'TheSelectedFolder'SubFolder1'Subfolder2"`
从这里,你可以使用像@"^[a- za -z]':'Users'[^]+'"这样的正则表达式来删除你不想要的路径。
编辑:既然我的大脑在听,我可以看到我给出的答案已经给出了。
Path.Combine(Path.GetDirectoryName(selectedFolder),filePath.Replace(selectedFolder,String.Empty))