Аз се опитвам да се разшири Microsoft променливи околната среда намерих на тази страница Microsoft: https://technet.microsoft.com/de-de/library/dd560744(v=ws.10).aspx
Функцията C #, която използвам, е: Environment.ExpandEnvironmentVariables("%SYSTEM32%")
Моята крайна цел е да добавите разширената променлива за обкръжение към комбинация. Искам да го направя така: this.destinationDirComboBox.Items.Add(Environment.ExpandEnvironmentVariables("%SYSTEM32%"));
Проблемът е, че единствената средапроменливите, които ще се разширят, са% TEMP% и% WINDIR%. Всички останали ще показват променливата на средата, без да я разширяват, напр. % SYSTEM32% вместо C: WindowsSystem32.Моята цел е тя да покаже C: WindowsSystem32.
Това, което опитах:
- Добавяне на променлива за потребителска средада се Компютър-> Свойства-> Разширени настройки на системата-> Околна среда Променливи-> добавете нова променлива за потребителска среда. Тя работи само на моя собствен команден ред, но не и в C # кода.
- Опитах се да добави променлива за системна среда и не съм сигурен дали съм го направил погрешно или не работи. Не намерихме много информация
как върви. - Проверила е стойността на ключа на системния регистър на Windows PATH.
Каква може да е причината за проблема? Как мога да го направя?
Отговори:
1 за отговор № 1отворете командния ред и проверете съществуващите ENV променливи с set
команда.
Afaik sth. като SYSTEM32 не е стандартен за Windows, но е дефиниран от WINDIR + "System32", ако наистина търсите само това място.
различен подход:
this.destinationDirComboBox.Items.Add(Environment.GetFolderPath(Environment.SpecialFolder.System));// -> c:windowsSystem32
проверете това за повече пътеки и дестинации:
Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // -> c:UsersUserXDesktop
този Документ ще ви помогне: MSDN специален пакет документи