Ищет переменные среды (системные, локальные, временные)
// Функция - Переменные среды
//
// Параметры:
// Тип - Строка - "System" - переменные среды операционной системы.
// "User" - переменные среды пользователя.
// "Volatile" - временные переменные.
// "Process" - переменные среды текущего командного окна.
//
// Возвращаемое значение:
// - Соответствие, содержащая переменные среды
//
Функция ПеременныеСреды(Тип = "System") Экспорт
Перем Оболочка;
сПеременныеСреды = Новый Соответствие;
Если ЭтоКлиентWindows() Тогда
Попытка
Оболочка = Новый COMОбъект("WScript.Shell");
КоллекцияПеременных = Оболочка.Environment(Тип);
Исключение
Сообщить("Не удалось подключить компоненту 'WScript.Shell' по причине: "+ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
Возврат сПеременныеСреды;
КонецПопытки;
Для каждого ЭлКоллекции Из КоллекцияПеременных Цикл
Если НЕ ЗначениеЗаполнено(ЭлКоллекции) Тогда
Продолжить;
КонецЕсли;
МассивЧастей = РазложитьСтрокуВМассив(ЭлКоллекции, "=");
Если МассивЧастей.Количество() = 2 Тогда
сПеременныеСреды.Вставить(МассивЧастей.Получить(0), МассивЧастей.Получить(1));
КонецЕсли;
КонецЦикла;
Оболочка = Неопределено;
КонецЕсли;
Возврат сПеременныеСреды;
КонецФункции
{42} Переменной Оболочка присвоено значение, но оно нигде не используется Орфографическая ошибка в Неопределено: Неопределено
Определить это Linux или Windows
ЗаполнитьЗначенияГлобальныхПеременных (БСП)
ПодключитьКомпонентуИзРеестраWindows (БСП)
НовыйФайлЗапускаКомандыWindows (БСП)