在路径C#中一次向后导航

时间:2016-05-23 15:07:47

标签: c# path

我必须在路径中找回5个文件夹然后我需要进一步输入3个文件夹并检查文件是否存在。

让我们想象两条路径:

1) C:\a\b\c\d\e\f\g\

2) C:\a\2\3\4\5\test.xml

然后我的程序就在第一条道路上。 我需要检查文件test.xml(在第二个路径上)是否存在。

为此,我知道方法File.Exists(path),但是我遇到路径问题。 我能够回到文件夹a并检查文件是否存在。 例如,检查路径上的文件是否存在:

3) C:\a\test2.xml

我可以使用:

File.Exists(@".\.\.\.\.\.\" + @"test2.xml");

但是我尝试导航到第二条路径(2)并检查这个文件是否存在我不能这样做。愿任何人帮助我吗?提前致谢。问候。

2 个答案:

答案 0 :(得分:2)

您只需使用..来表示父目录。

尝试:

File.Exists(@"..\..\..\..\..\..\" + @"test2.xml");

答案 1 :(得分:2)

。指的是当前目录 ..指的是当前

之上一级的目录

在你的例子中:

..\..\..\..\..\..\2\3\4\5\test.xml

这会移动到a目录,然后遍历到文件所在的5位。

可能有助于测试您的路径并确保您处于您认为自己的位置的是:

string currentPath = Path.GetFullPath(relativePath);

然后检查currentPath的值,如果它在某个你没想到的地方结束,你可以调试你的路径遍历而不是你的代码。