0

我正在使用Directory.GetCurrentDirectory()功能。获得当前目录路径后,我需要向上移动两个目录并将此错误的路径获取到路径变量。

知道我该怎么做吗?

4

3 回答 3

5

你的意思是两个目录?如果您要向上移动,请使用Directory.GetParent。你不能随意往下走,你需要知道你要去哪里。

于 2012-11-07T08:36:23.710 回答
2

假设你的意思是向上移动,而不是向下移动:

var x = new DirectoryInfo(Directory.GetCurrentDirectory());
var result = x.Parent.Parent;

您现在可以获取该目录的所有数据,例如:

var fullName = result.FullName;

MSDN

于 2012-11-07T08:37:11.227 回答
1

如果您确实希望该Directory.GetCurrentDirectory()方法返回不同的目录,则需要使用匹配的Directory.SetCurrentDirectory()方法来更改应用程序的工作目录。

http://msdn.microsoft.com/en-us/library/system.io.directory.setcurrentdirectory.aspx

如果要下移,可以使用该Directory.GetDirectories()方法查看当前路径下的所有文件夹,然后使用该Directory.SetDirectory()方法将其设置为其中之一。再次重复以获取“两个目录”。Sans 错误处理(并假设您每次都想要第一个目录):

var directory = Directory.GetCurrentDirectory();
var directories = Directory.GetDirectories(directory);
directory = directories.First();
directories = Directory.GetDirectories(directory);
directory = directories.First();

如果您确实表示向上而不是向下,那么正如其他人所说,使用该Directory.GetParent()方法获取当前目录的父级......两次。

于 2012-11-07T08:37:51.227 回答