我有一個用C#編寫的應用程序,我正在尋求將一些信息寫入隱藏的ProgramData,以便從應用程序的前端訪問相同的連接字符串和後端。%AllUsersProfile%(%PROGRAMDATA%)給出了一個重複的文件路徑
我使用路徑變量如下訪問目錄:
private bool ProgramDataWriteFile(string contentToWrite)
{
try
{
string strProgramDataPath = "%PROGRAMDATA%";
string directoryPath = Environment.ExpandEnvironmentVariables(strProgramDataPath) + "\\MyApp\\";
string path = Environment.ExpandEnvironmentVariables(strProgramDataPath)+"\\MyApp\\ConnectionInfo.txt";
if (Directory.Exists(directoryPath))
{
System.IO.StreamWriter file = new System.IO.StreamWriter(path);
file.Write(contentToWrite);
file.Close();
}
else
{
Directory.CreateDirectory(directoryPath);
System.IO.StreamWriter file = new System.IO.StreamWriter(path);
file.Write(contentToWrite);
file.Close();
}
return true;
}
catch (Exception e)
{
}
return false;
}
這似乎正常工作。但是,我的問題是,當我使用這個路徑變量:%AllUsersProfile%(%PROGRAMDATA%)
,而是擴展到非法(和冗餘)文件路徑:C:\ProgramData(C:\ProgramData)\
但是,我認爲後一個路徑變量是正確的全名。我是否正確使用它?我需要確保所有用戶都可以訪問此連接信息,只需使用%PROGRAMDATA%
即可?如果相關,我正在使用Windows 7。
當我在Windows Explorer中粘貼%PROGRAMDATA%我得到一個單一的路徑C:\ ProgramData我使用Windows 7以及..你期望看到什麼..? – MethodMan