我必须在路径中找回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)并检查这个文件是否存在我不能这样做。愿任何人帮助我吗?提前致谢。问候。
答案 0 :(得分:2)
您只需使用..
来表示父目录。
尝试:
File.Exists(@"..\..\..\..\..\..\" + @"test2.xml");
答案 1 :(得分:2)
。指的是当前目录 ..指的是当前
之上一级的目录在你的例子中:
..\..\..\..\..\..\2\3\4\5\test.xml
这会移动到a目录,然后遍历到文件所在的5位。
可能有助于测试您的路径并确保您处于您认为自己的位置的是:
string currentPath = Path.GetFullPath(relativePath);
然后检查currentPath的值,如果它在某个你没想到的地方结束,你可以调试你的路径遍历而不是你的代码。