說我有一個編譯C#
程序(我們稱之爲example2.exe
)在目錄系統$PATH
,所以我可以從Windows的任何文件夾調用它。在命令行中我進入c:\apps
並與現有的文件作爲參數運行example2.exe
,例如:example2.exe file.txt
。是否有可能獲得file.txt
的完整路徑?當只有文件名稱已知時,如何獲取文件名的路徑?
另一種選擇可能是..\file.txt
,這不會指向一個文件在當前詞典。
說我有一個編譯C#
程序(我們稱之爲example2.exe
)在目錄系統$PATH
,所以我可以從Windows的任何文件夾調用它。在命令行中我進入c:\apps
並與現有的文件作爲參數運行example2.exe
,例如:example2.exe file.txt
。是否有可能獲得file.txt
的完整路徑?當只有文件名稱已知時,如何獲取文件名的路徑?
另一種選擇可能是..\file.txt
,這不會指向一個文件在當前詞典。
Directory.GetCurrentDirectory是你在找什麼。
var fileName = "file.txt"; //comes from args obviously
var fullPath = Path.Combine(Directory.GetCurrentDirectory(), fileName);
你怎麼知道編譯的程序從當前目錄讀取?對於我們所知道的,它可以從'c:\ temp \ file.txt'中讀取,因爲文件名的解釋完全取決於正在運行的程序。 – dasblinkenlight
它不必是當前字典,因爲我可以給出一個參數'.. \ file.txt'。 – menteith
我會將相對文件名總是相對於當前目錄。這就是所有應用程序99%的功能。 –
你怎麼知道'''file.txt''字符串表示一個文件名到編譯好的程序''example2「'? – dasblinkenlight
用戶通常是指c:\ apps \ file.txt。如果Environment.CurrentDirectory設置正確,則由Path.GetFullPath()返回的值。它應該是。 –
@dasblinkenlight請問你能改說你的問題嗎?我不確定你的想法。 – menteith