systemroot что означают проценты
Переменные среды Windows (системные переменные)
Материал из Википедии — свободной энциклопедии
Переменная окружения (переменная среды́, англ. environment variable ) в Windows используются для хранения текстовых строк пользователя и информации о настройках операционных систем.
Список переменных
В современных ОС компании Microsoft на платформе NT для получения информации о системе используются следующие переменные (Полужирным выделен текст, относящийся только к Windows Vista/7):
Название | Тип | Описание |
---|---|---|
ALLUSERSPROFILE | локальная | Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:ProgramData. |
APPDATA | системная | Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:Documents and Settings%UserName%Application Data. В Windows 7 — C:Users%UserName%AppDataRoaming. |
CD | локальная | Указывает путь к текущему каталогу. Идентична команде CD без аргументов. |
CLIENTNAME | локальная динамическая | Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. |
CMDCMDLINE | локальная | Точная команда, использованная для запуска текущего cmd.exe. |
CMDEXTVERSION | системная | Версия текущего Command Processor Extensions. |
COMMONPROGRAMFILES | системная | Расположение каталога «Common Files» (обычно %ProgramFiles%Common Files). |
COMMONPROGRAMFILES(x86) | системная | Расположение каталога «Common Files» в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%Common Files). |
COMPUTERNAME | системная | Имя компьютера |
COMSPEC | системная | Путь к исполняемому файлу командного процессора (shell). |
DATE | системная | Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe. |
ERRORLEVEL | системная | Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки. |
HOMEDRIVE | системная | Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
HOMEPATH | системная | Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
HOMESHARE | системная | Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
LOCALAPPDATA | системная | Возвращает используемое по умолчанию локальное размещение данных приложений (C:Users%UserName%AppDataLocal). |
LOGONSERVER | локальная | Имя контроллера домена, использовавшегося для авторизации текущего пользователя. |
NUMBER_OF_PROCESSORS | системная | Количество процессоров в системе (фактически, количество ядер). |
OS | системная | Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT. |
PATH | системная | Указывает путь поиска исполняемых файлов. |
PATHEXT | системная | Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые. |
PROCESSOR_ARCHITECTURE | системная | Архитектура процессора. Возможные варианты: x86, IA64, AMD64. |
PROCESSOR_IDENTIFIER | системная | Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER — пропущена буква). |
PROCESSOR_LEVEL | системная | Номер модели процессора. |
PROCESSOR_REVISION | системная | Ревизия процессора. |
PROGRAMDATA | системная | Возвращает путь к каталогу C:ProgramData (аналогично ALLUSERSPROFILE). |
PROGRAMFILES | системная | Путь к каталогу Program Files. |
PROGRAMFILES(x86) | системная | Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86. |
PROMPT | локальная | Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe. |
PUBLIC | системная | В Windows 7 возвращает путь к каталогу C:UsersPublic. |
RANDOM | системная | Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe. |
SESSIONNAME | локальная | Хранит имя активного пользовательского сеанса. При локальном входе имеет значение «Console», при удаленном доступе имеет вид RDP-Tcp# |
SYSTEMDRIVE | системная | Диск, на котором расположен корневой каталог Windows. |
SYSTEMROOT | системная | Путь к корневому каталогу Windows. |
TEMP и TMP | системная и локальная | Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают. |
TIME | системная | Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time. |
USERDOMAIN | локальная | Имя домена, которому принадлежит текущий пользователь. |
USERNAME | локальная | Имя текущего пользователя. |
USERPROFILE | локальная | Путь к профилю текущего пользователя. |
WINDIR | системная | Каталог, в котором установлена Windows. |
Работа с переменными
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например:
Чтобы установить значение переменной:
Кроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).
Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.
Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:
Следует учитывать, что набор значений переменных среды получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды или создает новую переменную, эти изменения не будут доступны первому процессу.
Значения переменных среды LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH устанавливаются при открытии сеанса на основании значений в ветке реестра [HKEY_CURRENT_USERVolatile Environment].
Трудности перевода
Очень часто встречается неправильное понимание слова «среды» в словосочетании «Переменные среды». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.
Таким образом, неправильно говорить, например, «с переменными сре́дами» («с переменными окружениями»), а правильно — «с переменными среды́» («с переменными окружения»).
Где хранятся дампы памяти windows 7
Дамп файл – используется для анализа ошибок компьютера так называемого синего экрана.
Причем не все видят данный экран. В настройках Windows можно установить действие при возникновении критической ошибки – Перезагрузка
При получении заявок от пользователей о периодических перезагрузках компьютера в течении дня без видимой причины стоит обратить внимание на дамп системы который перед этим создается.
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
MinidumpDir
Содержится информация о пути где находятся дамп файлы. Обычно, данные файлы находятся в папке
C:WindowsMinidump
В значении параметра Min >установлено %SystemRoot%Minidump
%SystemRoot% – эта переменная для директории Windows.
и в окне командной строки ввести
то в результате в окне командной строки вы переместитесь в папку Windows
После нахождения дамп файла его еще нужно открыть и для этого можно воспользоваться утилитами созданными специально для этого.
Например BlueScreenView или WinDBG входящий в состав инструментов по отладке Windows.
The dump file – is used for the analysis of the errors of the computer the blue screen.
And not everyone can see the screen. In the settings Windows you can set the action when a critical error occurs – Restart
Upon receipt of the applications from users on the periodic rebooting of the computer during the day for no apparent reason you should pay attention to the system dump which is created.
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
MinidumpDir
Contains information about the path where the dump files. Usually, these files are in the folder
In the MinidumpDir value of the parameter using %SystemRoot%Minidump
%SystemRoot% is the variable for the Windows directory.
in the command prompt window, enter
the result in the command prompt window, you navigate to the Windows folder
After finding the dump file it has to open and you can use the utilities created for this purpose.
For example BlueScreenView or WinDBG part of debugging tools for Windows.
Как анализировать синий экран dump memory в Windows
Как анализировать синий экран dump memory в Windows
Как анализировать синий экран dump memory в Windows-01
Синий экран смерти или как его еще называют BSOD, может изрядно подпортить жизнь как компьютеру так и серверу, а еще выяснилось и виртуальной машине. Сегодня расскажу как анализировать синий экран dump memory в Windows, так как правильная диагностика и получение причины из за чего не работает ваша система, 99 процентов ее решения, тем более системный инженер, просто обязан уметь это делать, да и еще в кратчайшие сроки, так как от этого бизнес может в следствии простоя сервиса, терять кучу денег.
BSOD расшифровка
Давайте для начала разберем, что означает данная аббревиатура, BSOD от английского Blue Screen of Death или еще режим STOP ошибки.
Ошибки синего экрана смерти возникают по разным причинам, среди которых могут быть проблемы с драйверами, может быть какое то сбойное приложение, или сбойный модуль оперативной памяти. Как только у вас появился синий экран в Windows, то ваша система автоматически создаст файл crash memory dump, который мы и будем анализировать.
Как настроить создание memory dump
По умолчанию windows при синем экране создает аварийный дамп файл memory.dmp, сейчас покажу как он настраивается и где хранится, я буду показывать на примере Windows Server 2008 R2, так как у меня недавно была задача по изучению вопроса синего экрана в виртуальной машине. Для того чтобы узнать где настроен dump memory windows, открываем пуск и щелкаем правым кликом по значку Компьютер и выбираем свойства.
Как анализировать синий экран dump memory в Windows-Свойства компьютера
Далее идем в пункт Дополнительные параметры системы
Как анализировать синий экран dump memory в Windows-параметры системы
Переходим во вкладку Дополнительно-Загрузка и восстановление. Жмем кнопку Параметры
Как анализировать синий экран dump memory в Windows-Загрузка и восстановление
Где хранится файл memory.dmp
и видим, что во первых стоит галка выполнить автоматическую перезагрузку, для записи отладочной информации, выбрано Дамп памяти ядра и ниже есть пусть куда сохраняется дамп памяти %SystemRoot%MEMORY.DMP
Как анализировать синий экран dump memory в Windows-05
Перейдем в папку c:windows и найдем файл MEMORY.DMP в нем содержаться коды синего экрана смерти
Как анализировать синий экран dump memory в Windows-memory.dmp
Как настроить mini dump
В малый дамп памяти тоже записываются ошибки синего экрана смерти, настраивается он там же, нужно только его выбрать.
Как анализировать синий экран dump memory в Windows-07
Хранится он в папке c:windowsminidump. Преимущество в том, что он занимает меньше места и на каждый синий экран создается отдельным файлом. Всегда можно просмотреть историю появлений синего экрана.
Как анализировать синий экран dump memory в Windows-08
Теперь когда мы разобрались где искать файл memory dump, нужно научиться его интерпритировать и понимать причину из за чего происходит синий экран смерти. В решении этой задачи нам поможет Microsoft Kernel Debugger. Скачать Microsoft Kernel Debugger можно с официального сайта, главное выберите нужную версию ОС если кому то влом, то можете скачать с яндекс диска по прямой ссылке. Так же он входит в состав ADK.
Как установить Microsoft Kernel Debugger
Скачиваем Microsoft Kernel Debugger, в итоге у вас будет маленький файл который позволит скачать из интернета все что вам нужно. Запускаем его.
Как установить Microsoft Kernel Debugger-01
присоединяться к программе по улучшению качества участвовать не будем
Как установить Microsoft Kernel Debugger-02
жмем Accept и соглашаемся с лицензией
Как установить Microsoft Kernel Debugger-соглашаемся с лицензией
Далее выбираем компонент и жмем install
Как установить Microsoft Kernel Debugger-04
начнется установка Microsoft Kernel Debugger
Как установить Microsoft Kernel Debugger-установка MKD
Видим, что Microsoft Kernel Debugger успешно установлен
Как установить Microsoft Kernel Debugger-06
После чего видим, что в пуске появилась папка Debugging Tools for Windows как для 32 так и для 64 битных систем.
Как установить Microsoft Kernel Debugger-07
Анализ синего экрана в Debugging Tools
После установки Debugging Symbols под систему на которой был синий экран смерти запускаем Debugging Tools
Как установить Microsoft Kernel Debugger-Запуск
Перед анализом содержимого дампа памяти, потребуется провести небольшую настройку отладчика. Конкретно — сообщить программе, по какому пути следует искать отладочные символы. Для этого выбираем в меню File > Symbol File Path…
Как установить Microsoft Kernel Debugger-09
Нажимаем кнопку Browse…
Как установить Microsoft Kernel Debugger10
и указываем папку, в которую мы установили отладочные символы для рассматриваемого дампа памяти, можно указать несколько папок через запятую и можно запрашивать информацию о требуемых отладочных символах прямо через Интернет, с публичного сервера Microsoft. Таким образом у вас будет самая новая версия символов. Сделать это можно следующим образом — в меню File > Symbol File Path… вводим:
Как установить Microsoft Kernel Debugger-11
Как анализировать синий экран смерти
Копируем с компьютера где выскочил синий экран, файл memory.dmp или minidump, и открываем его, выбираем в меню File > Open Crash Dump… и выбираем требуемый для рассмотрения файл.
Как анализировать синий экран смерти-01
Выбираем для примера minidump
Как анализировать синий экран смерти-открываем minidump
Начнется анализ минидампа, видим появилась ссылка на ошибку, щелкаем по ней для более детальной информации о синем экране.
Как анализировать синий экран смерти-03
И видим сбойное приложение которое крушит вашу систему, так же можно еще детальнее посмотреть в чем дело, ткнув ссылку.
Как анализировать синий экран смерти-04
Получите более детальную информацию по причине синего экрана.
Как анализировать синий экран смерти-05
Если открыть memory.dmp то вы получите подобную картину и видим почему синий экран у вас появился.
Как анализировать синий экран смерти-06
Ткнув по ссылке в логе вы получаете самую детальную информацию об ошибке.
Как анализировать синий экран смерти-07
Вот так вот просто диагностировать и устранить синий экран смерти.
Файл дампа памяти сохраняется при возникновении ошибок СТОП (или Голубых экранов смерти, BSOD). Посмотрим как настраивается сохранение дампа памяти в Windows 7.
Нажимаем правой кнопкой мыши значек Компьютер (Computer) в контекстном меню выбираем Свойства (Properties).
В левой колонке выбираем Дополнительные параметры системы (Advanced system settings).
В окне Системные параметры (System Properties) выбираем вкладку Дополнительно (Advanced), в секции Загрузка и Восстановление (Startup and Recovery) нажимаем Параметры (Settings).
В окне Загрузка и восстановление (Startup and Recovery) мы настраиваем расположение дампа файла и его имя, а также другие параметры, связанные с загрузкой и восстановлением системы.
Прописываем путь к файлу в текстовом поле Файл дампа (Dump file).
%SystemRoot% – переменная окружения, которая заменяется системой на полный путь к папке Windows, в которой находятся системные файлы.
Нажимаем OK для сохранения настроек (если были произведены изменения).
Попутно, вы можете снять флажок с чекбокса Выполнить автоматическую перезагрузку, если не хотите, чтоб компьютер автоматически перезагружался, а давал возможность записать сведения об ошибке, которая привеле к появлению синего экрана. Подробнее смотрите в статье: Cиний экран смерти: Как отключить автоматическую перезагрузку
Переменные среды
Классификация переменных среды
Переменная | Тип | Описание |
%SYSTEMDRIVE% | Системная | Возвращает имя диска, содержащего корневой каталог операционной системы Windows XP/2003 (т. е. системный корневой каталог). |
%SYSTEMROOT%, %WINDIR% | Системная | Возвращает размещение корневого каталога операционной системы Windows XP/2003 |
%PATH% | Системная | Указывает путь поиска для исполняемых файлов. |
%PROGRAMFILES% | Системная | Указывает путь к каталогу установки программ (Program Files) |
%COMMONPROGRAMFILES% | Системная | Указывает путь к общему каталогу программ (Program Files\Common Files). |
%TEMP% и %TMP% | Системная и пользовательская | Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. |
%USERPROFILE% | Локальная | Возвращает размещение профиля для текущего пользователя. |
%ALLUSERSPROFILE% | Локальная | Возвращает размещение профиля «All Users». |
%CD% | Локальная | Возвращает путь к текущей папке. |
%APPDATA% | Локальная | Возвращает используемое по умолчанию размещение данных приложений. |
Использование переменных в пакетных файлах
Начнем с простенького примера:
DEL /F /Q «%AllUsersProfile%\Главное меню\Активация Windows.lnk»
DEL /F /Q «%AllUsersProfile%\Главное меню\WindowsUpdate.lnk» DEL /F /Q «%systemroot%\system32\*.scr»
Во всех командах я специально использовал «кавычки» – это не случайно. Весь путь, включая переменные, надо заключать в кавычки, если вы используете пути, содержащие пробелы. Даже если сама переменная кавычек не содержит, после ее разбора системой в пути могут появится пробелы (например, %ProgramFiles% в C:\Program Files). В любом случае кавычки лучше использовать – это является хорошим тоном оформления командных файлов.
Как задать свои переменные 
Команда SET
Чтобы добавить переменную, введите в командной строке:
Чтобы отобразить переменную, введите в командной строке:
Чтобы удалить переменную, введите в командной строке:
Эти переменные могут быть созданы, к примеру, для любых путей, надо лишь задать или найти алгоритм присвоения переменной в каждой частной ситуации, пользуясь готовыми примерами или создавая свои на их основе. Как правило, такие переменные создаются в текущей сессии командными файлами с помощью некоторых операторов.
Пример назначения переменных в файле RunOnceEx.cmd, импортирующем параметры в реестр
@echo off
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100
REG ADD %KEY% /V TITLE /D «Installing Applications» /f
REG ADD %KEY%\%i% /VE /D «WinRar 3.51» /f
REG ADD %KEY%\%i% /V 1 /D «%systemdrive%\install\Software\WinRar.exe /s» /f
REG ADD %KEY%\%i% /V 2 /D «REGEDIT /S %systemdrive%\install\Software\rar_set.reg /s» /f
SET /A i+=1
REG ADD %KEY%\%i% /V 1 /D «%systemdrive%\install\Software\WinRar.exe /s» /f
на самом деле отработает так
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\100 /V 1 /D «C:\install\Software\WinRar.exe /s» /f
Обратите внимание, что во фрагменте файла также используется системная переменная %systemdrive%, которая соответствует букве системного диска.
Пример назначения переменных в командном файле, устанавливающем приложение с CD:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
start /wait “%CDROM%\INSTALL\DVDTools\NBRom\Nero.exe”
В этом примере для всех перечисленных дисков происходит поиск определенного файла (WIN51). В случае его обнаружения на одном из дисков, последнему присваивается переменная %CDROM%, а далее уже происходит установка программного обеспечения с использованием пути, заданного созданной переменной.
Изменение переменных среды и добавление собственных переменных
Утилита setenv
Утилита работает из командной строки (сайт, загрузить). Работать с утилитой очень просто ( setenv /? ).
Допустим, если нужно получить переменную %temp% еще на стадии установки, то можно это проделать из cmdlines.txt, например:
Импорт параметров в реестр
Если же пойти путем внесения изменений в реестр после первого входа в систему, то переменные начнут «работать» только после перезагрузки или завершения пользовательского сеанса. Конечно, в процессе автоустановки можно импортировать желаемые параметры на Т-12 (см. статью Твики реестра) и обойти данную проблему. Если же вы не собираетесь использовать назначенную переменную в текущем пользовательском сеансе, то импорт в реестр вас тоже может устроить. Процесс импорта REG-файлов описывать повторно не буду, а рассмотрю команду REG ADD на конкретном примере.
Допустим, вы заинтересованы иметь в системе переменную %CDROM% на постоянной основе и установить ее в процессе установки приложений с CD. Следуя коду, приведенному выше, нужно после определения переменной назначить ее системной.
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
REG ADD «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment» /v cdrom /d %CDROM% /f
После нахождения файла WIN51 диску, на котором он был найден, присваивается локальная переменная %CDROM%, которая тут же и назначается в виде постоянной системной переменной посредством импорта в реестр. Этот метод предложил в одной из тем на конференции Oszone Sanja Alone. Заодно вы узнали. где в реестре хранятся настройки системных переменных. Настройки пользовательских переменных хранятся в HKCU\Environment. Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно посмотреть в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion, но менять их там не следует. Каталоги установки программ (отличные от %SystemDrive%\Program Files) нужно конфигурировать через файл ответов.
Резюме
Терминология
Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом.
Командная сессия может инициироваться как запуском cmd.exe, так и запуском пакетного файла. Иными словами создается текущая командная оболочка. Соответственно выход из этой оболочки (к примеру, окончание работы пакетного файла) завершает командную сессию. К тексту ^
Пользовательский сеанс (пользовательская сессия) начинается с момента входа пользователя в систему (log on) и завершается при выходе (log off). К тексту ^