Переменные среды PowerShell
Функции PowerShell могут использовать переменные среды для хранения настроек пользователя.
Эти переменные работают подобно переменным предпочтений, но они наследуются дочерними сеансами сеансов, в которых они созданы. Дополнительные сведения о переменных предпочтений см. в разделе about_Preference_Variables.
Ниже перечислены переменные среды, в которых хранятся настройки.
-
PSExecutionPolicyPreference
Хранит политику выполнения, заданную для текущего сеанса. Эта переменная среды существует только в том случае, если задана политика выполнения для одного сеанса.
Это можно сделать двумя разными способами.-
Запустите сеанс из командной строки с помощью параметра ExecutionPolicy , чтобы задать политику выполнения для сеанса.
-
Используйте командлет . Используйте параметр Scope со значением «Process».
Подробнее см. в разделе about_Execution_Policies.
-
-
псмодулеаналисискачепас
PowerShell обеспечивает контроль над файлом, используемым для кэширования данных о модулях и их командлетах. Кэш считывается при запуске во время поиска команды и записывается в фоновом потоке после импорта модуля.
Расположение кэша по умолчанию:
- Windows PowerShell 5.1: .
- PowerShell 6,0 и более поздние версии:
- значение по умолчанию не Windows:
По умолчанию для кэша используется имя файла . Если установлено несколько экземпляров PowerShell, имя файла включает в себя шестнадцатеричный суффикс, чтобы для каждой установки существовало уникальное имя файла.
Примечание
Если обнаружение команд работает неправильно, например, в IntelliSense отображаются несуществующие команды, можно удалить файл кэша. Кэш создается повторно при следующем запуске PowerShell.
Чтобы изменить расположение кэша по умолчанию, задайте переменную среды перед запуском PowerShell. Изменения этой переменной среды влияют только на дочерние процессы. Значение должно быть полным путем (включая имя файла), на создание и запись файлов по которому у среды PowerShell есть разрешение.
Чтобы отключить файловый кэш, укажите в качестве этого значения недопустимое расположение, например:
Это задает путь к устройству NUL . PowerShell не удается выполнить запись в путь, но ошибка не возвращается. Вы можете увидеть ошибки, о которых сообщили с помощью трассировки:
-
псдисаблемодулеаналисискачеклеануп
При вызаписи кэша анализа модуля PowerShell проверяет наличие модулей, которые больше не существуют, чтобы избежать необязательного большого объема кэша. Иногда эти проверки нежелательны. в этом случае их можно отключить, задав для этого значения переменной среды значение .
Установка этой переменной среды вступает в силу немедленно в текущем процессе.
-
PSModulePath
Переменная среды содержит список расположений папок, в которых выполняется поиск модулей и ресурсов.
По умолчанию действующие расположения, назначенные, являются:
-
Расположения на уровне системы. Эти папки содержат модули, поставляемые с PowerShell. Модули хранятся в расположении. кроме того, это расположение, в котором устанавливаются модули управления Windows.
-
Модули, установленные пользователем: это модули, установленные пользователем.
имеет параметр области , который позволяет указать, установлен ли модуль для текущего пользователя или для всех пользователей. Дополнительные сведения см. в разделе Install-Module.- в Windows расположением определяемой пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .
- в системах, отличных от Windows, расположением определенной пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .
Кроме того, программы установки, устанавливающие модули в других каталогах, например каталог Program Files, могут добавлять свои расположения к значению .
Дополнительные сведения см. здесь: about_PSModulePath.
-
-
POWERSHELL_UPDATECHECK
Настроить уведомления об обновлениях можно с помощью переменной среды . Поддерживаются следующие значения.
- отключает функцию уведомления об обновлении
-
то же самое, что не определяет :
- В общедоступных выпусках выводятся уведомления об обновлениях для общедоступных выпусков.
- В предварительных выпусках и релизах-кандидатах выводятся уведомления об обновлениях для общедоступных и предварительных выпусков.
- уведомления об обновлениях только для выпусков долгосрочного обслуживания (LTS)
Дополнительные сведения см. в разделе about_Update_Notifications.
-
POWERSHELL_TELEMETRY_OPTOUT
Чтобы отказаться от телеметрии, задайте для переменной среды значение , или .
Дополнительные сведения см. в разделе about_Telemetry.
Управление переменными среды
PowerShell предоставляет несколько различных методов для управления переменными среды.
- Диск поставщика среды
- Командлеты элементов
- Класс .NET System. Environment
- на Windows панель управления системы
Использование поставщика среды
Каждая переменная среды представлена экземпляром класса System. Collections. DictionaryEntry . В каждом объекте DictionaryEntry имя переменной среды является ключом словаря. Значением переменной является значение словаря.
Чтобы отобразить свойства и методы объекта, представляющего переменную среды в PowerShell, используйте командлет. Например, чтобы отобразить методы и свойства всех объектов на диске, введите:
Поставщик среды PowerShell позволяет получить доступ к переменным среды на диске PowerShell ( диск). Этот диск выглядит примерно так же, как диск файловой системы. Чтобы открыть диск, введите:
Используйте командлеты Content, чтобы получить или задать значения переменной среды.
Можно просмотреть переменные среды на диске с любого другого диска PowerShell, а также можно перейти на диск, чтобы просмотреть и изменить переменные среды.
Использование командлетов Item
При ссылке на переменную среды введите имя диска, за которым следует имя переменной. Например, чтобы отобразить значение переменной среды, введите:
Чтобы отобразить значения всех переменных среды, введите:
Так как переменные среды не имеют дочерних элементов, выходные данные и одинаковы.
По умолчанию PowerShell отображает переменные среды в том порядке, в котором они извлекаются. Чтобы отсортировать список переменных среды по имени переменной, необходимо передать выходные данные команды в командлет. Например, с любого диска PowerShell введите:
Вы также можете войти на диск с помощью командлета:
Если вы используете диск, можно опустить имя диска из пути. Например, чтобы отобразить все переменные среды, введите:
Чтобы отобразить значение переменной в пределах диска, введите:
Сохранение изменений в переменных среды
чтобы внести устойчивое изменение в переменную среды на Windows, используйте панель управления системы. выберите расширенный системный Параметры. На вкладке Дополнительно щелкните переменная среды…. Можно добавлять или изменять существующие переменные среды в области пользователя и системы (компьютера). Windows записывает эти значения в реестр, чтобы они сохранялись в сеансах и перезапусках системы.
Кроме того, можно добавить или изменить переменные среды в профиле PowerShell. Этот метод работает для любой версии PowerShell на любой поддерживаемой платформе.
Использование методов System. Environment
Класс System. Environment предоставляет методы GetEnvironmentVariable и SetEnvironmentVariable , позволяющие указать область действия переменной.
В следующем примере метод GetEnvironmentVariable используется для получения параметра компьютера, а метод SetEnvironmentVariable — для добавления пути к значению.
Дополнительные сведения о методах класса System. Environment см. в разделе методы среды.
Развертывание и изменение сведений
Подсказки данных позволяют развернуть массив, структуру или объект для просмотра его элементов. Можно также изменить значение переменной из Подсказки Данных.
Развертывание переменной
Чтобы развернуть объект в подсказке по данным для просмотра его элементов, наведите указатель мыши на стрелки развертывания перед именами элементов. Элементы отобразятся в виде дерева. Для закрепленной подсказки по данным выберите + перед именем переменной, а затем разверните дерево.
Для перемещения вверх и вниз по развернутому представлению можно использовать мышь или клавиши со стрелками.
Можно также закреплять развернутые элементы в закрепленной подсказке по данным, наводя на них указатель мыши и выбирая значок канцелярской кнопки. После свертывания дерева элементы будут отображаться в закрепленной подсказке.
Изменение значения переменной
Чтобы изменить значение переменной или элемента в подсказке по данным, выберите значение, введите новое значение и нажмите клавишу ВВОД. Значения, предназначенные только для чтения, недоступны для выбора.
Закрепление свойств в подсказках по данным
Observação
Эта возможность поддерживается для .NET Core 3.0 или более поздних версий.
С помощью средства Закрепляемые свойства можно быстро проверять объекты на основе их свойств в подсказках по данным. Чтобы воспользоваться этим средством, наведите указатель мыши на свойство и выберите значок булавки либо щелкните правой кнопкой мыши и в контекстном меню выберите пункт Закрепить элемент в избранном. Свойство будет размещено в верхней части списка свойств объекта, а имя и значение свойства будут отображаться в правом столбце подсказки по данным. Чтобы открепить свойство, щелкните значок булавки еще раз или в контекстном меню выберите пункт Открепить элемент в избранном.
При просмотре списка свойств объекта в подсказке по данным можно также включать и отключать отображение имен свойств и отфильтровывать незакрепленные свойства. Чтобы получить доступ к любой из этих команд, щелкните правой кнопкой мыши строку со свойством и выберите в контекстном меню команду Показать только закрепленные элементы или Скрыть имена закрепленных элементов в значениях.
Визуализация сложных типов данных
Значок лупы рядом с переменной или элементом в подсказке по данным означает, что для переменной доступен один или несколько визуализаторов, таких как средство визуализации текста. Визуализаторы выводят сведения в более наглядной, иногда графической, форме.
Чтобы просмотреть элемент с использованием визуализатора по умолчанию для этого типа данных, щелкните значок лупы . Щелкните стрелку рядом со значком лупы, чтобы выбрать вариант из списка визуализаторов для типа данных.
Добавление переменной в окно контрольных значений
Чтобы продолжить наблюдение за переменной, ее можно добавить в окно Контрольные значения из подсказки по данным. Щелкните переменную правой кнопкой мыши в подсказке по данным и выберите пункт Добавить контрольное значение.
Переменная появится в окне Контрольные значения. Если в используемом выпуске Visual Studio поддерживается несколько окон Контрольные значения, переменная появится в окне Контрольные значения 1.
Импорт и экспорт подсказок по данным
Подсказки по данным можно экспортировать в XML-файл, который можно использовать совместно или редактировать с помощью текстового редактора. Вы также можете импортировать XML-файл с подсказками, который вы получили или отредактировали.
Экспорт подсказок данных:
-
Выберите команду Отладка > Экспорт подсказок по данным.
-
В диалоговом окне Экспорт подсказок по данным перейдите к месту, где нужно сохранить XML-файл, введите им файла и нажмите кнопку Сохранить.
Импорт подсказок данных:
-
Выберите команду Отладка > Импорт подсказок по данным.
-
В диалоговом окне Импорт подсказок по данным выберите XML-файл с подсказками, который нужно открыть, и нажмите кнопку Открыть.
Переменные среды Windows
Получить информацию о существующих переменных можно в свойствах системы. Для этого кликаем по ярлыку Компьютера на рабочем столе правой кнопкой мыши и выбираем соответствующий пункт.
Переходим в «Дополнительные параметры».
В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.
Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.
Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).
Подробнее: Как открыть «Командную строку» в Windows 10
На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.
Все их можно использовать в консоли или скриптах для запуска программ или поиска объектов, заключив имя в знаки процента. Например, в команде выше вместо пути
мы использовали
Переменные PATH и PATHEXT
Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.
«PATH» позволяет запускать исполняемые файлы и скрипты, «лежащие» в определенных каталогах, без указания их точного местоположения. Например, если ввести в «Командную строку»
система осуществит поиск по папкам, указанным в значении переменной, найдет и запустит соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
- Поместить необходимый файл в одну из указанных директорий. Полный список можно получить, выделив переменную и нажав «Изменить».
-
Создать свою папку в любом месте и прописать путь к ней. Для этого (после создания директории на диске) жмем «Создать», вводим адрес и ОК.
Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».
Для применения настроек, возможно, придется перезапустить «Проводник». Сделать это быстро можно так:
Открываем «Командную строку» и пишем команду
Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».
Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.
Теперь все файлы, помещенные в «C:Script» можно будет открывать (запускать), введя только их название.
«PATHEXT», в свою очередь, дает возможность не указывать даже расширение файла, если оно прописано в ее значениях.
Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».
Создание переменных среды
Создаются переменные просто:
Нажимаем кнопку «Создать». Сделать это можно как в пользовательском разделе, так и в системном.
Вводим имя, например, «desktop»
Обратите внимание на то, чтобы такое название еще не было использовано (просмотрите списки). В поле «Значение» указываем путь до папки «Рабочий стол».
Нажимаем ОК
Повторяем это действие во всех открытых окнах (см. выше).
Перезапускаем «Проводник» и консоль или целиком систему.
Готово, новая переменная создана, увидеть ее можно в соответствующем списке.
Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо
потребуется ввести только
Заключение
Использование переменных окружения позволяет значительно сэкономить время при написании скриптов или взаимодействии с системной консолью. Еще одним плюсом является оптимизация создаваемого кода. Имейте в виду, что созданные вами переменные отсутствуют на других компьютерах, и сценарии (скрипты, приложения) с их использованием работать не будут, поэтому перед тем, как передавать файлы другому пользователю, необходимо уведомить его об этом и предложить создать соответствующий элемент в своей системе.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Помогла ли вам эта статья?
- https://www.white-windows.ru/tri-sposoba-prosmotret-imena-i-znacheniya-peremennyh-okruzheniya-v-windows-10/
- https://profiphp.ru/other/configure_path_windows.html
- https://lumpics.ru/environment-variables-in-windows-10/
Выполнение до указанного места или функции
Вам может потребоваться выполнить код непосредственно до определенного места или функции, если вы точно знаете, какой код нужно проверить или с какого места следует начать отладку.
Выполнение до точки останова в коде
Чтобы задать простую точку останова в коде, щелкните в левом поле напротив строки кода, в которой нужно приостановить выполнение. Можно также выбрать строку и нажать клавишу F9, выбрать команду Отладка > Переключить точку останова или щелкнуть правой кнопкой мыши и выбрать команду Точка останова > Вставить точку останова. Точка останова отображается как красный кружок в левом поле рядом со строкой кода. Отладчик приостанавливает выполнение непосредственно перед выполнением строки.
Точки останова в Visual Studio предоставляют широкий набор функций, таких как условные точки останова и точки трассировки. Дополнительные сведения см. в статье Использование точек останова.
Выполнение до точки останова функции
Можно дать отладчику команду на выполнение до тех пор, пока не будет достигнута определенная функция. Можно задать функцию по имени или выбрать ее из стека вызовов.
Указание точки останова функции по имени
-
Выберите команду Отладка > Создать точку останова > Точка останова функции.
-
В диалоговом окне Новая точка останова функции введите имя функции и выберите ее язык:
-
Щелкните ОК.
Если функция перегружается или находится в нескольких пространствах имен, нужную функцию можно выбрать в окне Точки останова:
Выбор точки останова функции из стека вызовов
-
Во время отладки откройте окно Стек вызовов, выбрав пункт Отладка > Окна > Стек вызовов.
-
В окне Стек вызовов щелкните правой кнопкой мыши имя функции и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10.
Сведения о визуальном отслеживании стека вызовов см. в статье Сопоставление методов в визуализации стека вызовов при отладке.
Выполнение до расположения курсора
Чтобы выполнить код до позиции курсора, в окне исходного кода или в окне Стек вызовов выберите строку, в которой нужно прервать выполнение, а затем щелкните ее правой кнопкой мыши и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10. Выбор команды Выполнить до текущей позиции аналогичен заданию временной точки останова.
Принудительное выполнение до расположения курсора
Чтобы выполнить код до позиции курсора, в окне исходного кода или в окне Стек вызовов выберите строку, в которой нужно прервать выполнение, а затем щелкните ее правой кнопкой мыши и выберите элемент Force Run To Cursor (Принудительное выполнение до расположения курсора). Если выбрать параметр Force Run To Cursor (Принудительное выполнение до расположения курсора), все точки останова и первичные исключения будут пропускаться, пока отладчик не достигнет строки кода, где находится курсор.
Выполнение до щелкнутого
Во время приостановки работы отладчика можно навести указатель мыши на оператор в исходном коде или в окне Дизассемблирование и щелкнуть значок с зеленой стрелкой Выполнить до этого места. Если используется команда Выполнение до щелкнутого позволяет не устанавливать временную точку останова.
Observação
Команда Выполнение до щелкнутого доступна начиная с версии Visual Studio 2017.
Принудительное выполнение до щелчка
Когда работа отладчика приостановлена, вы можете навести указатель на оператор в исходном коде, удерживая нажатой клавишу SHIFT, и выбрать элемент Принудительное выполнение до текущей позиции (значок с двумя зелеными стрелками). При выборе этого параметра приложение присоединяет отладчик Visual Studio и приостанавливает выполнение в положении курсора. Все точки останова и первичные исключения, обнаруженные во время выполнения, временно отключаются.
Observação
Параметр Force Run to Click (Принудительное выполнение до отмеченного щелчком расположения) доступен, начиная с версии Visual Studio 2022.
Приостановка выполнения кода вручную
Чтобы приостановить выполнение в следующей доступной строке кода в выполняющемся приложении, выберите команду Отладка > Прервать все или нажмите клавиши CTRL+ALT+BREAK.
Наблюдение за переменными с помощью окна контрольных значений
Можно открыть несколько окон контрольных значений и наблюдать за несколькими переменными в окне контрольных значений.
Например, чтобы организовать просмотр значений , и , в следующем коде:
-
Установите точку останова на строке , щелкнув в левое поле, выбрав Отладка > Переключить точку останова или нажав клавишу F9.
-
Начните отладку, выбрав зеленую стрелку Старт или выбрав Отладка > Начать отладку или нажав клавишу F5. Выполнение останавливается в точке останова.
-
Откройте окно Контрольные значения, выбрав Отладка > Окна > Контрольные значения > Контрольные значения 1 или нажав клавиши CTRL+ALT+W > 1.
Вы можете открыть дополнительные окна контрольных значений, выбрав окна 2, 3 или 4.
-
В окне Контрольные значения выберите пустую строку и тип переменной . Сделайте то же самое для и .
-
Продолжите отладку, выбрав Отладка > Шаг с заходом или нажав клавишу F11 по мере необходимости для перехода. В процессе итерации по циклу значения переменных в окне Контрольные значения должны меняться.
Observação
Только для C++
-
Может потребоваться уточнить контекст имени переменной или выражение, использующее имя переменной. Контекст — это функция, файл исходного кода или модуль, где находится переменная. Если необходимо уточнить контекст, используйте синтаксис оператора контекста (C++) в поле Имя в окне Контрольные значения.
-
Вы можете добавить имена регистров и имена переменных с помощью $<register name> или @<register name> в поле Имя в окне Контрольные значения. Для получения дополнительной информации см. Pseudovariables.
Как добавить и изменить переменные среды
Небольшое предупреждение, прежде чем мы пойдем глубже. Создайте точку восстановления системы и постарайтесь не вмешиваться в существующие параметры, настроенные для вашей системы. Пока, если вы не уверены в своих действиях. Чтобы открыть окно «Переменные среды», выполните следующие действия:
Щелкните правой кнопкой мыши значок «Этот компьютер» и выберите «Свойства». Теперь в этом окне выберите «Расширенные настройки системы» в левой части. Нажмите последнюю кнопку с надписью «Переменные среды», чтобы открыть наше предназначенное окно.
Как только вы откроете это, вы сможете просматривать пользовательские и системные переменные отдельно. Имя переменной находится в первом столбце, а ее значение — во втором. Соответствующие кнопки под таблицей позволяют вам «Добавить», «Редактировать» и «Удалить» эти переменные.
Раздел реестра App Paths
Действительно, не указывая полный путь, можно запустить некоторые стандартные программы Windows из окна «Выполнить», но не из командной строки. Помимо проигрывателя Windows Media, это, например, Paint (mspaint) и Wordpad (wordpad). То же самое верно и для приложений MS Office – проверьте команду excel или winword!
Разница между окном «Выполнить» и командной строкой заключается в том, что оболочка Windows (explorer) обладает более широкими возможностями, чем консольный интерпретатор команд. В данном случае все дело в функции ShellExecuteEx, которой снабжена оболочка. Когда вы запускаете исполняемый файл без указания полного пути к нему, функция выполняет поиск в:
- текущей папке
- папках Windows и System32
- разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Как работает раздел App Paths
Давайте посмотрим на работу App Paths на примере Windows Media Player.
Здесь:
- создан подраздел с псевдонимом исполняемого файла (в данном случае – это wmplayer.exe)
- в параметре По умолчанию указан полный путь к файлу. Если в пути к файлу используется переменная, параметр должен быть расширяемым строковым (REG_EXPAND_SZ). Указывая абсолютный путь, можно обойтись обычным строковым параметром (REG_SZ).
- в параметре Path задана рабочая папка программы
Работает это очень просто. Вы вводите псевдоним файла в окне «Выполнить» или адресной строке проводника, а система автоматически смотрит в указанном пути.
Как ускорить свою работу с помощью App Paths
Этим разделом реестра можно пользоваться для быстрого запуска программ, ярлыки которых не нужны вам в панели задач или на рабочем столе. Например, для поиска и замены в текстовых файлах я применяю программу BKReplacem (replacem.exe), у которой своя папка внутри папки PortableSoft. В разделе App Paths я создал подраздел bkr.exe и указал полный путь к утилите. Теперь ее запуск сводится к выполнению bkr в окне «Выполнить».
Кстати, не забывайте заключать в кавычки пути, содержащие пробелы. И, надеюсь, вы уже догадались, что можно сократить команду до одной буквы. Продолжая этот пример, я мог бы создать подраздел b.exe. Вообще, у программы может быть сколько угодно псевдонимов, как вы увидите чуть ниже.
Еще одно применение, которое я нашел для App Paths, это запуск cmd.exe с полными правами. Я давно обхожусь без запроса UAC, благодаря . Создав подраздел cmda.exe, я указал в нем путь к командному файлу, выполняющему задание.
В нем всего одна строка:
schtasks /run /tn CMD_Admin
Теперь достаточно ввести в окно «Выполнить» команду cmda, чтобы открыть командную строку от имени администратора.
Что интересного можно найти в разделе App Paths
Во-первых, я уверен, что вы найдете там многие из установленных у вас программ. Вместо того чтобы прописывать путь к своей папке в переменную PATH, программы регистрируют свой исполняемый файл в разделе App Paths, следуя рекомендациям Microsoft.
Во-вторых, там есть подразделы WORDPAD.EXE и WRITE.EXE, причем оба ведут к файлу wordpad.exe.
Программа Write, входившая в состав первых операционных систем Microsoft, в Windows 95 была заменена на WordPad. Вы также найдете подраздел pbrush.exe, ссылающийся на mspaint, лежащий в System32.
Программ Write и Paintbrush нет в Windows уже лет 15, однако упоминание о них до сих пор содержится в системе! И это подводит нас к разговору о том, когда и зачем в Windows ввели раздел App Paths.
История App Paths
Раздел App Paths появился в Windows 95 в качестве противоядия от засорения пути PATH, который задавался в файле autoexec.bat. Программы традиционно добавляли туда пути к своим папкам, как это до сих пор иногда делается с одноименной переменной среды. При загрузке системы файл считывался, а программы оказывались в системном пути.
Основная проблема для разработчиков состояла в том, что найти в autoexec.bat правильную строку SET PATH было нетривиальной задачей. При этом нельзя было вставлять свою строку в начало файла, поскольку другая команда ниже могла переопределить переменную.
Кроме того, добавлять путь в PATH ради того чтобы указать Windows на одну единственную программу, было не рационально, сродни стрельбе из пушки по воробьям. Вот тогда разработчики Windows 95 и придумали решение с разделом реестра, позволяющим указывать пути к конкретным исполняемым файлам.
Теоретически, какая-нибудь древняя программа может полагаться на своих ровесниц, наследницы которых уже сменили имя или расположение. Чтобы старые приложения не ломались, используется раздел реестра App Paths.
Редактирование переменных среды
Изменение параметров существующих переменных среды или создание новых выполняется с помощью специального раздела в свойствах системы.
Вызываем диалоговое окно «Выполнить» сочетанием клавиш «Win+R». Набираем в текстовом поле «sysdm.cpl». Щелкаем по кнопке «ОК» или нажимаем Enter на клавиатуре.
В открывшемся окне свойств системы переключаемся на вкладку «Дополнительно». Заходим в обозначенный на скриншоте цифрой «2» раздел.
Одним из наиболее часто используемых вариантов работы с переменными среды является сокращение путей к каталогам временных файлов. Для пользователя и системы они имеют разное расположение. Пути к первым указаны в верхней части окна редактора, а ко вторым – в нижней. На снимке экрана они дополнительно подсвечены маркером. Выделяем одну из строк, относящихся к профилю пользователя, и щелкаем по кнопке «Изменить».
Заменяем указанный стрелкой длинный путь на более короткий, например C:\Temp. Щелкаем «ОК» закрывая редактор.
На следующем снимке экрана выполненные изменения подсвечены зеленым маркером. Повторяем операцию для второй пользовательской переменной. Аналогичным образом меняем значения для системных путей. Щелкаем «ОК» завершая корректировку. После проделанных операций все временные файлы, образующиеся при работе Windows, будут помещаться в один каталог, расположенный в корневой директории.
Еще один популярный вариант изменения переменных среды заключается в корректировке раздела Path. В нем записываются каталоги хранения исполняемых файлов системы. Для примера возьмем файловый менеджер Total Commander. При установке он позволяет выбирать директорию установки отличную от стандартной Program Files. В блоке системных переменных выделяем раздел Path, отмеченный единицей на снимке экрана. Кликаем по кнопке «Изменить».
В окне редактора жмем «Создать». В появившемся активном поле указываем путь к директории программы. Поиск исполняемых файлов система выполняет по приведенному в окне списку сверху вниз, поэтому при желании созданную запись можно переместить на первую позицию используя кнопку, отмеченную тройкой. Записываем изменения кликнув «ОК».
После внесенной корректировки Total Commander можно запускать с помощью диалогового окна «Выполнить» или командной строки. Достаточно указать только имя исполняемого файла.
Что такое переменные среды windows
Давайте разберемся в понятии, и так переменная окружения ( environment variable ) это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.
Где используют переменные среды Windows
Приведу несколько примеров:
В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.
- в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
- Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.
Список переменных сред windows 10
Приведенный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверенно лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.
- %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:\ProgramData
- %windir% > это папка C:\Windows
- %APPDATA% > вы попадается в скрытую папку C:\Users\Имя_пользователя\AppData\Roaming
- %CommonProgramFiles% > папка C:\Program Files\Common Files
- %CommonProgramFiles(x86)% > перекинет вас в C:\Program Files (x86)\Common Files
- %CommonProgramW6432% > перекинет вас C:\Program Files\Common Files
- %COMPUTERNAME% > Имя_компьютера, используется скриптах
- %ComSpec% > откроет командную строку Windows 10 C:\Windows\system32\cmd.exe
- %HOMEDRIVE% > путь к диску C:
- %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя \Users\Имя_пользователя
- %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:\Users\Имя_пользователя\AppData\Local
- %LOGONSERVER% > Имя_компьютера
- %NUMBER_OF_PROCESSORS% > Количество_процессоров
- %OS% > Windows_NT, так же используется в скриптах
- %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
- %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
- %PROCESSOR_ARCHITECTURE% > x86 или AMD64, архитектура Windows
- %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
- %PROCESSOR_LEVEL% > 6
- %PROCESSOR_REVISION% > 2505 (пример)
- %ProgramData% > папка C:\ProgramData
- %ProgramFiles% > C:\Program Files
- %ProgramFiles(x86)% > папка C:\Program Files (x86)
- %ProgramW6432% > C:\Program Files
- %PROMPT% > $P$G
- %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ согласитесь очеь быстро
- %PUBLIC% > C:\Users\Public
- %SystemDrive% > диск C:
- %SystemRoot% > C:\Windows
- %TEMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %TMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %USERDOMAIN% > Имя_компьютера
- %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
- %USERNAME% > Имя_пользователя
- %USERPROFILE% > C:\Users\Имя_пользователя
Как вывести список всех переменных Windows
В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.
Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:
set > D:\Variables.txt
Вот содержимое данного документы.
То же самое можно посмотреть и с помощью оболочки PowerShell, в которой нужно ввести:
dir Env:
Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:
Для просмотра переменных для компьютера
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Для просмотра переменных для пользователя
HKEY_CURRENT_USER\Environment