2012-11-07 148 views
0

我正在使用Directory.GetCurrentDirectory()函數。獲得當前目錄路徑後,我需要將兩個目錄向上移動,並將此勝利的路徑轉換爲路徑變量。如何從目錄移動到目錄?

任何想法我可以做到這一點?

+1

你是什麼意思的「兩個目錄下」? –

+0

假設你確實意味着'down'而不是'up',並且你有一個包含在當前文件夾中的單個目錄,你可以檢查當前目錄的內容,並找到第一個文件夾 - 然後移動到這個目錄,等等。爲什麼你想這樣做仍然是一個謎! – Charleh

+0

你接受了一個關於'向上移動兩個目錄'的答案。請編輯並更新您的問題。 –

回答

2

假設你的意思是動了起來,不下來:

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

現在,您可以得到該目錄的所有數據,如:

var fullName = result.FullName; 

MSDN

5

你的意思是兩個目錄?如果您正在向上移動,請使用Directory.GetParent。你不能任意下移,你需要知道你要去哪裏。

1

如果你真的想Directory.GetCurrentDirectory()方法返回不同的目錄,您需要使用匹配的Directory.SetCurrentDirectory()方法來更改工作目錄o f應用程序。

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(); 

如果你實際上意味着UP,而不是下降,那麼正如其他人所說,使用Directory.GetParent()方法獲取的父當前目錄...兩次。