Мои переменные среды в C#
Если у Вас нет такого файла в проекте, самое время забрать 🤟
Кто-то задумается: почему именно так определяется корень диска или почему решил, что Path.GetTempPath() в большинстве случаев уступает Environment.ExpandEnvironmentVariables("%temp%");. Остальные, зная Мою практику, просто заменят у себя в коде все переменные среды на те, что даны в файле ниже.
Если всё-таки подробнее, то есть масса причин использовать именно Мой вариант, т.к. не все переменные среды зайдут в cmd или PowerShell так, как вы этого ожидаете. Не все одинаково работают на Windows 7 и 10, поэтому проще не думать, открывая давно открытые Мной конфликты, а просто довериться опыту и забрать этот musthave.
cs
SysFolder.cs1.36 Kb
c#
переменные среды
environment
expandenvironmentvariables
namespace MyProject
{
class SysFolder
{
public static string
C = ExpandEnvironmentVariables("%systemdrive%"),
Temp = ExpandEnvironmentVariables("%temp%"),
UserProfile = GetFolderPath(SpecialFolder.UserProfile),
Local = UserProfile + @"\AppData\Local",
Roaming = UserProfile + @"\AppData\Roaming",
Desktop = GetFolderPath(SpecialFolder.Desktop),
Windows = GetFolderPath(SpecialFolder.Windows),
System32 = GetFolderPath(SpecialFolder.System),
SysWOW64 = GetFolderPath(SpecialFolder.SystemX86),
ProgramFiles = GetFolderPath(SpecialFolder.ProgramFiles),
ProgramFilesX86 = GetFolderPath(SpecialFolder.ProgramFilesX86),
ProgramData = GetFolderPath(SpecialFolder.CommonApplicationData);
}
}