Компьютерология - Информационный ресурс

Переменная userprofile. Переменные средЫ Windows - TEMP и TMP. Классификация переменных среды

Переменные среды, используемые в пакетных (командных) файлах, позволяют обходиться без указания абсолютных путей к директориям. Например, если нам заранее неизвестна буква системного диска, мы всегда можем использовать переменную %systemdrive% , возвращающую букву диска, на котором установлена ОС. Также, переменные применяются для оптимизации кода - многократно повторяющемуся параметру (например, разделе реестра) можно назначить короткую переменную и использовать ее. В данной статье подробно рассматриваются различные приемы работы с переменными, а также способы изменения и создания новых переменных. Теперь обо всем по порядку.

Классификация переменных среды

Резюме

Командная оболочка Windows (cmd.exe) - это весьма мощный инструмент работы с системой. При помощи пакетных файлов можно автоматизировать изрядное количество задач, и именно поэтому они часто используются для автоматической установки Windows. Умелое использование переменных в пакетных файлах позволяет решать широкий спектр вопросов. Работа с командной оболочкой становится более эффективной и одновременно упрощается код пакетных файлов. Другие примеры использования переменных вы можете найти на страницах сайта или форума. Все примеры, использованные в этой статье, взяты из скриптов участников , за что им большое спасибо.

Терминология

Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом.

cmd.exe - интерпретатор команд, который командная оболочка ОС Windows использует для перевода введенной команды в формат, понятный системе.

Командная сессия может инициироваться как запуском cmd.exe , так и запуском пакетного файла. Иными словами создается текущая командная оболочка. Соответственно выход из этой оболочки (к примеру, окончание работы пакетного файла) завершает командную сессию.

Пользовательский сеанс (пользовательская сессия) начинается с момента входа пользователя в систему (log on) и завершается при выходе (log off).

Если файл.USERPROFILE известен Вашей системе, то открыть его можно двойным нажатием мышкой или клавишей ENTER. Эта операция запустит ассоциируемые с файлом.USERPROFILE аппликации, установленные в системе. Если система встречает файл впервые и отсутствуют соответствующие ассоциации, то акция закончится предложением системы, найти соответствующее программное обеспечение в компьютере либо сети интернет.

Иногда случается, что для обслуживания типа файлов.USERPROFILE приписана неправильная программа. Это случается в следствии действия враждебных программ, таких как вирусы или вредоносные программы, но чаще всего это результат ошибочного совмещения аппликации с расширением файла.USERPROFILE. Если во время обслуживания нового типа файлов.USERPROFILE мы укажем системе неправильную программу, то система ошибочно будет рекомендовать ее использование всякий раз, когда будет встречаться файл этого типа. В таком случае следует попробовать повторно выбрать соответствующую аппликацию. Нажмите правой кнопкой мышки на файл.USERPROFILE, а затем выберите из меню опцию "Открыть с помощью..." затем "Выбрать программу по умолчанию" . Сейчас выберите одну из установленных аппликаций из вышеуказанного списка и попробуйте снова.

Программы, которые откроют файл.USERPROFILE

Ручное редактирование Реестра Windows

Если наша система не справляется с расширением.USERPROFILE и подвели все автоматические и полуавтоматические методы обучения его этому искусству, остается ручное редактирование реестра Windows. Этот реестр хранит всю информацию, касающуюся рабоы нашей операционной системы, в том числе соединения расширений файлов с программами для их обслуживания. Команда REGEDIT вписанная в окне „поиск программ и файлов” или „запустить в случае старших версий операционной системы, предоставляет нам доступ к реестру нашей операционной системы. Все операции, проведенные в реестре (даже не очень сложные, касающееся расширения файла.USERPROFILE) имеют значительное влияние на работу нашей системы, поэтому прежде чем проводить какие-либо модификации следует убедится, что сделана копия актуального реестра. Интересующий нас раздел - это ключ HKEY_CLASSES_ROOT . Следующая инструкция показывает, шаг за шагом, как модифицировать реестр, а конкретно запись в реестре, содержащую информацию о файле.USERPROFILE.

Шаг за шагом

  • Нажмите кнопку “start”
  • В окне „найти программы и файлы” (в старших версиях системы Windows это окно „Запустить”) впишите команду „regedit” а затем утвердите операцию клавишей „ENTER”. Эта операция запустит системный редактор реестра. Этот инструмент позволит не только просмотреть существующие записи, но также провести их модификацию, добавление или удаление вручную. В связи с тем, что реестр системы Windows ключевой для ее работы, все операции, проводящиеся на ней, следует выполнять рассудительно и сознательно. Неосторожное устранение или модификация несоответственного ключа может необратимо повредить операционную систему.
  • С помощью комбинации клавишей ctr+F или меню Редактирование и опции „Найти” найдите интересующее вас расширение.USERPROFILE, вписав его в окне поисковика. Утвердите, нажав OK или с помощью клавиши ENTER.
  • Запасная копия. Чрезвычайно важным является создание запасной копии реестра, прежде чем совершить в нем какие-либо изменения. Каждое изменение имеет влияние на действие нашего компьютера. В крайних случаях ошибочная модификация реестра может привести к невозможности повторного запуска системы.
  • Интересующее Вас значение, касающееся расширения, можно вручную редактировать изменяя ключи, приписанные к найденному расширению.USERPROFILE. В этом месте Вы можете также самостоятельно создать нужную запись с расширением а.USERPROFILE если такое отсутствует в реестре. Все доступные варианты находятся в подручном меню (правая кнопка мышки) или в меню "Редактирование" после размещения курсора в соответствующем месте на экране.
  • После окончания редактирования записи, касающейся расширения.USERPROFILE закройте системный реестр. Введенные изменения войдут в жизнь после повторного запуска операционной системы.

Переменные среды Windows - ударение на "Ы" во втором слове (смысл фразы заложен в родительном падеже и верном ударении: переменные чего? - среды!), в англоязычных версиях виндовс - environment variable )

Переменные среды Windows используются для настройки операционных систем. Не каждому пользователю нужно разбираться с этими настройками и влезать в эти переменные, но есть пара переменных, о которых нужно знать всем пользователям персональных компьютеров. Речь идет о переменных, отвечающих за временное хранение файлов - TEMP и TMP .



По умолчанию значение пользовательских временных (TEMP) переменных – %USERPROFILE%\Local Settings\Temp ,

По умолчанию значение системных временных переменных – \WINDOWS\Temp .

Поэтому в первом случае это обычно: "C:\Documents and Settings\USER\Local Settings\Temp "

Недорогой производительный Ультрабук:

Характеристики: экран 14,1 дюймов 1920*1080 ips, Windows 10, 8 ГБ ОЗУ, 256 ГБ M.2 SATA 2280 SSD, Wifi, подсветка клавиатуры.

По причине того, что в семействе операционных систем Windows папки с временными файлами сами собой почему-то не очищаются, в них может скопиться огромное множество различных ненужных файлов, достигающих общим размером до нескольких гигабайт! Среди временных файлов периодически прячутся различные вирусы и нехорошие скрипты, поэтому обязанность каждого пользователя ПК - регулярно удалять содержимое временных папок.

Для удобства удаления лучше изменить путь по умолчанию на более простой, самый оптимальный вариант - "C:\Temp ".

Как изменить Переменные среды Windows TEMP и TMP? - Очень просто:

1. Правый клик на значке "Мой компьютер " на рабочем столе (если это полноценный значок, а не ярлык) или через меню Пуск -> Мой компьютер - > Свойства :

2. Перейти на вкладку "Дополнительно " и кликнуть внизу на кнопку "Переменные среды ":

3. В верхнем окне "Переменные среды пользователя " выбрать сначала первую строку (переменную TEMP) и нажать кнопку "Изменить ":



4. Исправить значение переменной на более простое - "C:\Temp ":

5. Повторить пункты 3 и 4 для переменной TMP :

В итоге должно получиться:

6. Нажать поочередно 2 раза "ОК ".



В принципе тоже самое можно сделать с помощью командной строки, выполнив команду: SET TEMP=C:\TEMP

Все переменные среды Windows:

ALLUSERSPROFILE Указывает расположение профиля All Users (локальная переменная)
APPDATA Указывает расположение каталога, в котором программы хранят данные по умолчанию (локальная переменная)
CD Указывает имя текущего каталога (локальная переменная)
CMDCMDLINE Указывает параметры командной строки, которые использовались для запуска текущего экземпляра программы CMD.EXE (локальная переменная)
CMDEXTVERSION Указывает номер версии текущего расширения командного процессора (системная переменная)
COMPUTERNAME Указывает имя компьютера (системная переменная)
COMSPEC Указывает точный путь к исполняемому файлу командного интерпретатора (системная переменная)
DATE Указывает текущую дату. Используется тот же формат, что и для команды date /t. Значение генерируется командным интерпретатором (системная переменная)
ERRORLEVEL Указывает код уровня ошибки последней программы. Ненулевое значение, скорее всего, указывает на ошибку (системная переменная)
HOMEDRIVE Указывает букву диска локальной рабочей станции, подключенной к домашнему каталогу. Переменная определяется на основе пути к домашнему каталогу. Домашний каталог пользователя определяется в оснастке Локальные пользователи и группы (Local Users and Groups) (системная переменная)
HOMEPATH Указывает полный путь к домашнему каталогу пользователя. Переменная определяется на основе пути к домашнему каталогу. Домашний каталог пользователя определяется в оснастке Локальные пользователи и группы (Local Users and Groups) (системная переменная)
HOMESHARE Указывает сетевой путь к общему домашнему каталогу пользователя. Переменная определяется на основе пути к домашнему каталогу. Домашний каталог пользователя назначается в оснастке Локальные пользователи и группы (Local Users and Groups) (системная переменная)
LOGONSERVER Указывает имя контроллера домена, на котором авторизован текущий сеанс работы с системой (локальная переменная)
NUMBER_OF_PROCESSORS Указывает количество процессоров, установленных в компьютере (системная переменная)
OS Указывает версию операционной системы. ОС Windows XP/XP обозначаются, как Windows_NT (системная переменная)
PATH Указывает путь поиска исполняемых файлов (системная переменная)
PATHEXT Указывает список расширений, которые распознаются операционной системой, как расширения исполняемых файлов (системная переменная)
PROCESSOR_ARCHITECTURE Указывает тип архитектуры процессора. Возможные значения: x86 и IA64 (системная переменная)
PROCESSOR_IDENTIFIER Указывает описание процессора (системная переменная)
PROCESSOR_LEVEL Указывает номер модели процессора, установленного в компьютере (системная переменная)
PROCESSOR_REVISION Указывает номер версии модели процессора (системная переменная)
PROMPT Указывает параметры приглашения командной строки для текущего интерпретатора. Генерируется интерпретатором CMD.EXE (локальная переменная)
RandOM Указывает случайное десятичное число от 0 до 32767. Генерируется программой CMD.EXE (системная переменная)
SYSTEMDRIVE Указывает букву диска, на котором расположен корневой каталог Windows (системная переменная)
SYSTEMROOT Указывает путь к корневому каталогу Windows (системная переменная)
TEMP или TMP Указывает путь к временным каталогам, принятым по умолчанию. Эти каталоги используются приложениями, доступными зарегистрированному в системе пользователю. Некоторым приложениям требуется значение переменной TEMP, в то время как другим - TMP (системная и пользовательская переменные соответственно)
TIME Указывает текущее время. Используется тот же формат, что и для команды time /t. Генерируется интерпретатором CMD.EXE (системная переменная)
USERDOMAIN Указывает имя домена, в котором хранится учетная запись пользователя (локальная переменная)
USERNAME Указывает имя пользователя, который зарегистрирован в системе в текущий момент времени (локальная переменная)
USERPROFILE Указывает путь к профилю текущего пользователя (локальная переменная)
WINDIR Указывает путь к каталогу операционной системы (системная переменная)



Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например: echo %NUMBER_OF_PROCESSORS %

В среде Windows Server повсюду - в командной строке, скриптах, и т.д. можно использовать переменные среды окружения, которые дают дополнительную степень свободы, так как позволяют не привязываться к абсолютным значениям, заменяя их переменными конкретной системы. Но, как показала практика, многие пользователи плохо ориентируются в Environment Variables. Данная таблица призвана стать подсказкой в повседневной работе с переменными среды окружения Windows Server.

Перечень Environment Variables

%ALLUSERSPROFILE% \Documents and Settings\All Users
%APPDATA% \Documents and Settings\{username}\Application Data
%CD% Возвращает путь к текущей папке
%CMDCMDLINE% Возвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe
%CMDEXTVERSION% Возвращает номер версии текущих расширений обработчика команд
%COMPUTERNAME% {computername}
%COMSPEC% \Windows\System32\cmd.exe
%DATE% Возвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe
%ERRORLEVEL% Возвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки
%HOMEDRIVE% Диск с основным каталогом пользователя. Указывается в оснастке «Локальные пользователи и группы»
%HOMEPATH% \Documents and Settings\{username} Указывается в оснастке «Локальные пользователи и группы»
%HOMESHARE% Сетевой путь к общему основному каталогу пользователя. Указывается в оснастке «Локальные пользователи и группы»
%LOGONSERVER% Возвращает имя контроллера домена, который проверял подлинность текущей сессии
%NUMBER_OF_PROCESSORS% Задает количество процессоров, установленных на компьютере
%OS% Возвращает имя операционной системы.
%PATH% C:\Windows\System32\,C:\Windows\,C:\Windows\System32\Wbem
%PATHEXT% Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые
%PATHEXT% .COM, .EXE, .BAT, .CMD, .VBS, .VBE, .JS , .WSF: .WSH (список исполняемых файлов)
%PROCESSOR_ARCHITECTURE% Возвращает архитектуру процессора. Значения: x86, IA64
%PROCESSOR_IDENTFIER% Возвращает описание процессора
%PROCESSOR_LEVEL% Возвращает номер модели процессора, установленного на компьютере
%PROCESSOR_REVISION% Возвращает номер модификации процессора
%PROGRAMFILES% \Program Files
%PROMPT% Возвращает параметры командной строки для текущего интерпретатора Cmd.exe (обычно $P$G)
%RANDOM% Возвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe
%SYSTEMDRIVE% Возвращает имя диска, содержащего корневой каталог Windows (т. е. системный каталог)
%SYSTEMROOT% \Windows
%SYSTEMROOT% System returns the location of the Windows root directory.
%TEMP% and %TMP% :\DOCUME~1\{username}\LOCALS~1\Temp
%TIME% Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe
%USERDOMAIN% Возвращает имя домена, содержащего список учетных записей пользователей
%USERNAME% {username}
%USERPROFILE% \Documents and Settings\{username}
%USERPROFILE%\Application Data AppData
%USERPROFILE%\Cookies Cookies
%USERPROFILE%\Desktop Desktop
%USERPROFILE%\Favorites Favorites
%USERPROFILE%\Local Settings Local Settings
%USERPROFILE%\Local Settings\Application Data Local AppData
%USERPROFILE%\Local Settings\History History
%USERPROFILE%\Local Settings\Temporary Internet Files Cache
%USERPROFILE%\My Documents Мои документы
%USERPROFILE%\My Documents\My Music My Music
%USERPROFILE%\My Documents\My Pictures My Pictures
%USERPROFILE%\NetHood Nethood
%USERPROFILE%\PrintHood PrintHood
%USERPROFILE%\SendTo SendTo
%USERPROFILE%\Start Menu Start Menu
%USERPROFILE%\Start Menu\Programs Programs
%USERPROFILE%\Start Menu\Programs\Startup Startup
%USERPROFILE%\Templates Templates
%WINDIR% \Windows

Кроме того, существуют псевдопеременные в среде популярного файлового менеджера Total Commander:

Имя Описание Пример
%$APPDATA% Application Data C:\Documents and Settings\MAIN\Application Data
%$DESKTOP% Рабочий стол C:\Documents and Settings\MAIN\Рабочий стол
%$PERSONAL% Мои документы C:\Documents and Settings\MAIN\Мои документы
%$PROGRAMS% Главное меню\Программы С:\Documents and Settings\MAIN\Главное меню\Программы
%$STARTMENU% Главное меню С:\Documents and Settings\MAIN\Главное меню
%$STARTUP% С:\Documents and Settings\MAIN\Главное меню\Программы\Автозагрузка
%$MYPICTURES% Мои рисунки С:\Documents and Settings\MAIN\Мои документы\Мои рисунки
%$MYMUSIC% Моя музыка С:\Documents and Settings\MAIN\Мои документы\Моя музыка
%$MYVIDEO% Мое видео С:\Documents and Settings\MAIN\Мои документы\Мое видео
%$LOCAL_APPDATA% Local Settings\Application Data С:\Documents and Settings\MAIN\Local Settings\Application Data
%$FONTS% Шрифты С:\WINDOWS\Fonts