2015-09-04 57 views
1

目前正在編寫需要存儲數據的軟件(我知道,這是先進的),但我不知道人們想要保存的地方。作爲默認設置,我希望它保存到C:\但不適用於使用N:\作爲默認驅動器的服務器。當前程序位置?

我可以將其更改爲使用N:\但如果某個人選擇將其與其他任何驅動器一起運行,則會出現同樣的問題。

我知道你可以得到當前的程序位置,但是我怎麼才能複製第一部分以便我可以使用它。

項目位置:X:\東西\東西\ Program.exe文件

我希望能夠從該採取什麼樣的:X:\東西\東西和添加的名稱要創建的新文件(newdatafile.txt),以便它變成X:\ Something \ Something \ newdatafile.txt

我在C#中工作。

+0

如果你遺漏了X:\ Something \ Something \ part,只是使用文件名,我相信它會自動計算出程序位置的X:\ Something \ Something \。例如,我將一個'HelpProvider'的'HelpNamespace'賦給一個help.chm文件,它會自動在Program Files中查找(針對我的個人情況)。如果我錯了,隨時糾正我。 –

+0

好吧,我會試試:) – Robjames970

+0

你能否說清楚你是否正在尋找當前的程序位置(http://stackoverflow.com/questions/6041332/best-way-to-get-application-folder-path)或者你實際上對你應該在哪裏存儲用戶文件默認情況感興趣(http://stackoverflow.com/questions/9659127/folder-to-store-data-files-locally-in-wpf-application)? (恐怕兩個版本都是重複的,但也許你正在尋找完全不同的東西) –

回答

3

我認爲這會做你的要求爲:

var exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\"; 

然後只需將新的文件名追加到尾部。

+2

要追加文件名,我建議'Path.Combine(exeFolder,fileName);',因爲它會照顧你的斜線。 – Equalsk

+0

@Equalsk好點。 – Ulric

+2

注意這正是OP所要求的,但將用戶數據保存在可執行文件旁邊對於「每個用戶」安裝的應用程序並不是一個好主意,對於每臺機器安裝一次完全不太明智(因爲常規用戶將無法使用寫入這樣的文件夾)。 –