Урок 4 по CMD — переменные окружения

Урок 4 по CMD — переменные окружения Командная строка

Практически, вся работа с командной строкой (cmd) основывается на переменных окружения. Так, если в консольном окне прописать на выполнение команду, путь к которой отсутствует, то вначале происходит поиск данной команды на внутреннем уровне.

Если окажется, что внутренняя команда с таким именем существует, то произойдет ее вызов. Если же окажется, что внутренней команды с подобным названием нет, то произойдет поиск вначале в текущем каталоге, а уже потом в тех папках, что перечислены в переменной окружения cmd PATH. Если же и в этом случае соответствия не найдено, командная строка вернет ошибку.

Что бы просмотреть содержимое cmd переменной окружения (среды) PATH, достаточно в консольном окне ввести команду path и нажать ENTER.

переменные окружения cmd

Видим, что пути отделяются друг от друга точкой с запятой, точка с запятой позволяет командной строке определить, где начинается и заканчивается путь. Вы можете получить содержимое переменной окружения и таким способом:

echo%PATH%

Командная строка ищет исполняемые файлы в каталогах в порядке, в котором эти каталоги перечислены в пути к командам.

Довольно часто при работе с командной строкой, может понадобиться прописать временный путь к командам:

path %PATH%;D:\work

В данном примере мы добавили к содержимому в переменные окружения cmd %PATH% путь D:work, и если теперь ввести на выполнение имя программы в каталоге D:work, то она успешно запустится. Но помните, временный путь действует только в пределах текущего сеанса командной строки.

Следующий пример значимости переменных окружения является расширение исполняемых файлов. Полагаю, вы замечали, что можно просто ввести имя программы, например, notepad или calc в окне командной строки, и она сразу запуститься, при этом, расширение файла указывать не надо. Все расширения исполняемых файлов задаются в переменной окружения %РАТНЕХТ%, что бы их просмотреть, можно ввести:

set pathext

Как и при поиске пути, поиск в переменной cmd окружения производится с начала, и все имена расширений отделяются точкой с запятой. Нужно понимать, что если вы введете на выполнение команду notepad, а в системном каталоге есть notepad.com и notepad.exe, то произойдет вызов той программы, чье расширение находится первым. Исполняемыми считаются и файлы сценариев (при условии, что расширение сценария присутствует в списке), например, сценарии сервера Windows Script Host.

При желании, можно подшутить над другом – изменить расположение списка расширений так, что бы вначале находилось, ну скажем расширение .vbs, с помощью языка VBScript написать сценарий, который будет выводить диалоговое сообщение “Ваша система взломана. Все винчестеры будут отформатированы после перезагрузки…”. Копии сценария сохранить под разными именами, например: regedit.vbs, cmd.vbs, calc.vbs, notepad.vbs, собственно, под теми именами программ, которые любит запускать ваш друг в окне командной строи или через меню Пуск. Сами файлы разместить в системных каталогах, пути к которым прописаны в %PATH%.

Просмотреть все cmd переменные среды и их содержимое, которые доступны в текущем сеансе командной строки можно с помощью команды set, просто введите ее и нажмите Enter.

Можно просмотреть не только через cmd переменные среды и их содержимое, но и через диалоговое окно системы Windows. Для этого войдите в свойства Мой Компьютер, вкладка дополнительно, внизу будет кнопка “Переменные среды”, нажимаем на нее и смотрим, что прописано в системе. В сервере сценариев Windows Script Host есть объект WScript.Shell, у которого в свою очередь присутствует свойство Environment, которое также позволяет получить информацию о переменных средах Windows, а также метод ExpandEnvironmentStrings которому как параметр передается имя среды (например, %path%, %windir%, %pathext%).

Переменные окружения cmd позволяют получить довольно много системной информации, хотя… ее вы смогли увидеть при выполнении команды set.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий