2017-01-30 170 views
1

說我有一個編譯C#程序(我們稱之爲example2.exe)在目錄系統$PATH,所以我可以從Windows的任何文件夾調用它。在命令行中我進入c:\apps並與現有的文件作爲參數運行example2.exe,例如:example2.exe file.txt。是否有可能獲得file.txt的完整路徑?當只有文件名稱已知時,如何獲取文件名的路徑?

另一種選擇可能是..\file.txt,這不會指向一個文件在當前詞典。

+0

你怎麼知道'''file.txt''字符串表示一個文件名到編譯好的程序''example2「'? – dasblinkenlight

+2

用戶通常是指c:\ apps \ file.txt。如果Environment.CurrentDirectory設置正確,則由Path.GetFullPath()返回的值。它應該是。 –

+0

@dasblinkenlight請問你能改說你的問題嗎?我不確定你的想法。 – menteith

回答

0

Directory.GetCurrentDirectory是你在找什麼。

var fileName = "file.txt"; //comes from args obviously 
var fullPath = Path.Combine(Directory.GetCurrentDirectory(), fileName); 
+2

你怎麼知道編譯的程序從當前目錄讀取?對於我們所知道的,它可以從'c:\ temp \ file.txt'中讀取,因爲文件名的解釋完全取決於正在運行的程序。 – dasblinkenlight

+0

它不必是當前字典,因爲我可以給出一個參數'.. \ file.txt'。 – menteith

+0

我會將相對文件名總是相對於當前目錄。這就是所有應用程序99%的功能。 –

相關問題