Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.
Что такое переменные среды 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
В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.
Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:
Переменная среды windows для мои документы
Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Не смог нигде найти ответа на элементарный вопрос: можно ли задать переменную окружения для системной папки «My Documents» («Мои документы») по аналогии с, например, %appdata% для «User allication data»? Например, чтобы при вводе в командной строке команды CD %<искомая переменная>% происходил переход в эту папку независимо от ее физического расположения на диске (сразу замечу, что расположение папки в данном случае НЕ является дефолтным).
Пробовал несколько вариантов, упомянутых на разных форумах, в частности, CSIDL_MYDOCUMENTS и CSIDL_DEFAULT_MYDOCUMENTS, но что-то не получается.
Заранее спасибо!
Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено:12:31 22-04-2009
Все тоже самое можно проделать через «Свойства Компьютера» > Дополнительно > Переменные среды > Переменные Среды Пользователя (или «Системные Переменные» если надо, чтобы переменная работала под любым аккаутом) без пере(логинивания | загрузки)
Системные переменные хранятся в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Батник, создающий переменную %PERSONAL% для твоей папки «Мои Документы». Все тоже самое можно проделать.
То есть, не существует общепринятой переменной, как для %appdata%, а ее сначала надо задать вручную для данной системы? И если я напишу архисложный командный файл cd %personal% или cd %tralala%, то на другом компе он не будет работать, если сначала не внести изменения в системеые настройки при помощи первого батника (или черер GUI)?
То есть, не существует общепринятой переменной, как для %appdata%, а ее сначала надо задать вручную для данной системы? И если я напишу архисложный командный файл cd %personal% или cd %tralala%, то на другом компе он не будет работать, пока и там администратор не пропишет значение этой переменной вручную?
Нет, такой переменной нет. Все существующие переменные можно посмотреть командой set без параметров.
Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено:22:14 23-04-2009
Все существующие переменные можно посмотреть командой set без параметров.
Команда SET не хочет запускаться из командной строки Total Commander или из штатного виндовского диалога Run. Приходится сначала командой Command перейти в командную оболочку и уже оттуда запускать Set. Это так и должно быть или что-то делаю неправильно?
Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено:12:55 30-04-2009
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору И мне помогло. 01MDM, от лица всего человечества разреши сказать тебе — Спасибо.
Всего записей: 148 | Зарегистр. 17-04-2009 | Отправлено:00:59 14-11-2009
Tork82
Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Я как потомственный тюлень ничерта не разобрался как мне сделать пост на форуме. мож прав у меня нет. но делать нечего ибо моя мадам заставляет меня узнавать решение поставленной ею задачи а именно у нее ноут дел .тормозил жутко я ей снес всю систему переустановил он стал летат грузиться быстро но вот есть проблема ничинаю печатать и все карачун буквы печатаються с задержкой в секунд 5 каждая и еще комп начинает пищать из нутра. так вот я и думаю может материнка накрылась или еще что..комп не грееться куллер работает и синий экран смерти не вылазит вообщем посогите кто знаком с данной проблемой очень прошу
Всего записей: 1 | Зарегистр. 14-11-2009 | Отправлено:01:03 14-11-2009
Abdulatipoff
Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору По теме топика, а так же всем, рассуждающим на тему существует/не существует, ответ. Нашел вот тут: http://otvety.google.ru/otvety/thread?tid=3cf60e8c6cf47a95
%ALLUSERSPROFILE%-Локальная-Возвращает размещение профиля «All Users». %APPDATA%-Локальная-Возвращает используемое по умолчанию размещение данных приложений. %CD%-Локальная-Возвращает путь к текущей папке. %CMDCMDLINE%-Локальная-Возвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe. %CMDEXTVERSION%-Системная-Возвращает номер версии текущих расширений обработчика команд. %COMPUTERNAME%-Системная-Возвращает имя компьютера. %COMSPEC%-Системная-Возвращает путь к исполняемой командной оболочке. %DATE%-Системная-Возвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe. %ERRORLEVEL%-Системная-Возвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки. %HOMEDRIVE%-Системная-Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». %HOMEPATH%-Системная-Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». %HOMESHARE%-Системная-Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». %LOGONSEVER%-Локальная-Возвращает имя контроллера домена, который проверял подлинность текущей сессии. %NUMBER_OF_PROCESSORS%-Системная-Задает количество процессоров, установленных на компьютере. %OS%-Системная-Возвращает имя операционной системы. При использовании Windows 2000 имя операционной системы отображается как Windows_NT. %PATH%-Системная-Указывает путь поиска для исполняемых файлов. %PATHEXT%-Системная-Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые. %PROCESSOR_ARCHITECTURE%-Системная-Возвращает архитектуру процессора. Значения: x86, IA64. %PROCESSOR_IDENTFIER%-Системная-Возвращает описание процессора. %PROCESSOR_LEVEL%-Системная-Возвращает номер модели процессора, установленного на компьютере. %PROCESSOR_REVISION%-Системная-Возвращает номер модификации процессора. %PROMPT%-Локальная-Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe. %RANDOM%-Системная-Возвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe. %SYSTEMDRIVE%-Системная-Возвращает имя диска, содержащего корневой каталог Windows XP (т. е. системный каталог). %SYSTEMROOT%-Системная-Возвращает размещение системного каталога Windows XP. %TEMP% и %TMP%-Системная и пользовательская-Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. %TIME%-Системная-Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. %USERDOMAIN%-Локальная-Возвращает имя домена, содержащего список учетных записей пользователей. %USERNAME%-Локальная-Возвращает имя пользователя, выполнившего вход в систему. %USERPROFILE%-Локальная-Возвращает размещение профиля для текущего пользователя. %WINDIR%-Системная-Возвращает размещение каталога операционной системы.
эти переменные Windows хранит в реестре в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Добавить их туда можно утилитой reg. Например, системную переменную с именем tttt и содержанием zzzzzzz можно создать из командной строки командой REG ADD «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment» /v tttt /t REG_EXPAND_SZ /d zzzzzzz
Также стоит поискать в сети по названию утилитки для манипулирования переменными SETENV.EXE и плюс ссчлка из MS KB
Переменная / Типичное значение: %ProgramFiles% — C:\Program Files %WindowsDir% — C:\Windows %SystemDir% — C:\Windows\System32 %FontDir% — C:\Windows\Fonts %CommonFiles% — C:\Program Files\Common Files %UserProfile% — C:\Documents and Settings\%UserName% %TempDir% — C:\Documents and Settings\%UserName%\Local Settings\Temp %SendTo% — C:\Documents and Settings\%UserName%\SendTo %QuickLaunch% — C:\Documents and Settings\%UserName%\Application Data\Microsoft\Internet Explorer\Quick Launch %MyDocuments% — C:\Documents and Settings\%UserName%\Мои документы %Desktop% — C:\Documents and Settings\%UserName%\Рабочий стол %ProgramsDir% — C:\Documents and Settings\%UserName%\Главное меню\Программы %StartMenu% — C:\Documents and Settings\%UserName%\Главное меню %Favorites% — C:\Documents and Settings\%UserName%\Избранное %StartUp% — C:\Documents and Settings\%UserName%\Главное меню\Программы\Автозагрузка %Templates% — C:\Documents and Settings\%UserName%\Шаблоны %AppData% — C:\Documents and Settings\%UserName%\Application Data %CommonDocuments% — C:\Documents and Settings\All Users\Документы %CommonDesktop% — C:\Documents and Settings\All Users\Рабочий стол %CommonProgramsDir% — C:\Documents and Settings\All Users\Главное меню\Программы %CommonStartMenu% — C:\Documents and Settings\All Users\Главное меню %CommonFavorites% — C:\Documents and Settings\All Users\Избранное %CommonStartUp% — C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка %CommonTemplates% — C:\Documents and Settings\All Users\Шаблоны %CommonAppData% — C:\Documents and Settings\All Users\Application Data %SystemDrive% — C:\