Переменная среда

редактировать
Определяемая с помощью переменных, связанная с каждым запущенным процессом многих операционных систем

Переменная среда динамическое с именем значение, которое может повлиять на поведение запущенных процессов на компьютере. Они являются частью среды, в которой выполняется процесс. Например, выполняющийся процесс может запросить значение переменной среды TEMP, чтобы найтиподходящее место для хранения временных файлов, или переменную HOME или USERPROFILE, чтобы найти преобразование каталогов, принадлежащую пользователю, запускающий процесс.

Они были представлены в своей современной форме в 1979 году с версией 7 Unix, поэтому включены во все разновидности и варианты Unix операционной от с этого момента и далее, включая Linux и macOS. Начиная с PC DOS 2.0 в 1982 году, все последующиеоперационные системы Microsoft, включая Microsoft Windows и OS / 2, а также включали функция их как, хотя и с использованием других синтаксисом, с использованием и стандартными именами чисел.

Содержание

  • 1 Дизайн
  • 2 Синтаксис
    • 2.1 Назначение
      • 2.1.1 Unix
      • 2.1.2 DOS, OS / 2 и Windows
  • 3 Примеры
  • 4 Истинная среда переменные
    • 4.1 Unix
    • 4.2 DOS
    • 4.3 OS / 2
    • 4.4 Windows
      • 4.4.1 Значения по умолчанию
  • 5 Переменныепсевдо-среды
    • 5.1 DOS
    • 5.2 Windows
  • 6 См. Также
  • 7 Примечания
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки

Дизайн

Во всех Unix и В Unix-подобных системы каждый процесс имеет свой отдельный набор чисел среды . По умолчанию, когда процесс создается, он наследует дублирующую основу своего родительского процесса, за исключением явных изменений, сделанных родителем при создании дочернего процесса. На уровне API эти изменения должны быть между запуском forkи exec. В качестве альтернативы, из командных оболочек, таких как bash, пользователь может изменить переменные среды для конкретного вызова команды, косвенно вызывая ее через env или используя нотацию ENVIRONMENT_VARIABLE = VALUE . Запущенная программа может получить доступ к значениям чисел среды для целей конфигурации.

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

В Unix переменная среда, измененная в сценарии или скомпилированной программе, будет влиять только на этот процесс и, возможно, на дочерние процессы. Это не повлияет народительский процесс и любые несвязанные процессы. Точно так же изменение или значения замены внутри пакетного файла DOS изменили переменную на время существования COMMAND.COM .

В Unix переменные среды обычно инициализируются во время запуска системы с помощью системных сценариев инициализации и, следовательно, наследуются всеми другими процессами в системе. Пользователи могут, и часто делают, дополнять их в сценарии профиля для оболочки, которую онииспользуют. В Microsoft Windows значение по умолчанию каждой модели среды хранится в реестре Windows или задается в файле AUTOEXEC.BAT .

В Unix программа setuid используемая среда, выбранная ее поражающей стороной. динамический компоновщик обычно загружает код из мест, указанных переменными средами $ LD_LIBRARY_PATHи $ LD_PRELOAD, и запускает его с полномочиями процесса. Она была вызвана запуском программы setuid,вызванной запуском программы. По этой причине libc сбрасывает эти переменные среды при запуске в процессе setuid. Программы setuid обычно сбрасывают неизвестные переменные среды и проверяют другие или устанавливают для них разумные значения.

Синтаксис

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

echo $ HOME

В интерпретатора строки DOS, OS / 2 и Windows, таких как COMMAND.COMи cmd.exe, пользователь должен получить следующее:

ECHO% HOME%

В Windows PowerShell пользователь должен ввести следующее:

Запись-вывод $ env: HOMEPATH

Команды env , setи printenvотображают все переменные среды и их значения. printenvтакже можно использовать для печатиодной стандартной используемой в качестве единственного аргумента команды.

Назначение

Команды envи setтакже используются для установки среды и часто включаются непосредственно в оболочку.

Unix

В Unix также следующие, но они часто зависят от определенных команд команд оболочки.

ПЕРЕМЕННАЯ = значение # экспорт ПЕРЕМЕННАЯ # для Bourne и связанных оболочек
экспорт ПЕРЕМЕННАЯ = значение # для ksh, bash и связанных оболочек
setenv VARIABLE value # для csh и связанных оболочек

Несколько простых принципов определяют, как переменные среды достигают своего эффекта.

Переменные среды локальными для процесса, в которых они были установлены. Если диаграмма два оболочки и значение среды изменено в одном, это изменение не будет замечено другим.

Когда создается дочерний процесс, он наследует все переменные среды и их значения от родительского процесса.Обычно, программа вызывает новую программу, она сначала запускает дочерний процесс посредством разветвления, затем дочерний процесс настраивает среду по необходимости и, наконец, дочерний заменяет себя программой, которая будет вызвана. Эта процедура дает вызывающую программу контроль над средой вызывающей программы.

В Unix и Unix-системах системного набора средств среды к регистру.

В оболочках Unix переменные могут быть назначены без ключевого слова export. Переменные, таким образом, снабженные командой set, но не являются настоящими переменными средами, поскольку они хранятся только оболочкой и неизвестны всем остальным процессам. Команда printenvих не отображает, а дочерние процессы не наследуют их.

ПЕРЕМЕННАЯ = значение

Синтаксис префикса экспортирует "истинную" переменную среду в дочерний процесс, не влияющую на текущий процесс:

ПЕРЕМЕННАЯ = значение_программы[аргументы]

Постоянство стандартной среды может быть общесессионным или общесистемным.

unset - это встроенная команда, реализованная как семейством оболочка Борна (sh, ksh, bash и т. Д.), Так и семейством оболочка C (csh, tcsh, и т. д.) оболочек командной строки Unix. Он сбрасывает переменную оболочку, удаляя ее из памяти и экспортированной среды оболочки. Он реализован как оболочка , встроенная в, поскольку напрямую управляет внутреннимикомпонентами оболочки. Переменные оболочки только для чтения нельзя сбросить. Если кто-то отключить переменную только для чтения, команда отключена распечатает сообщение об ошибке и вернет ненулевой код выхода.

DOS, OS / 2 и Windows

В интерпретатора командной строки DOS, OS / 2 и Windows, таких как COMMAND.COMи cmd.exeкоманда SET используется для целевых чисел и среды с использованием следующих аргументов:

SET VARIABLE = value

SETбез аргументов отображает все переменные среды вместе с их значениями.

Примеры

Примеры включают среду:

  • PATH : список путей к каталогам. Когда пользователь вводит команду без инструкций полного пути, этот список проверяется, чтобы увидеть, содержит ли путь, ведущий к команде.
  • HOME(Unix-like ) и ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ(Microsoft Windows): укажите, где домашний каталог пользователя находится вфайловой системе.
  • ГЛАВНАЯ / {. AppName}(Unix-like ) и APPDATA \ {DeveloperName \ AppName}(Microsoft Windows): для хранения настроек приложения. Многие приложения используют использовать ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯдля приложений в Windows: ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯследует использовать только в диалоговых окнах, которые позволяют пользователю выбирать между путями, такими как Документы / Изображения / Загрузки / Музыка; для программных целейAPPDATA(для настроек перемещаемых приложений, находящихся в использовании), LOCALAPPDATA(для локального приложения) или PROGRAMDATA(для приложений, часто используемых Пользователями).
  • TERM(Unix-like ): указывает тип используемого компьютерного терминала или эмулятора терминала (например, vt100 или dumb ).
  • PS1(Unix-like ): указывает, как подсказка отображается в ОболочкаБорна и варианты.
  • MAIL(Unix-like ): используется для указаний, где находится почта пользователя.
  • TEMP: место, где процессы могут хранить временные файлы.

Истинные переменные среды

Unix

$ PATH
Содержит список каталогов, разделенных двоеточиями, в оболочка ищет команды, не содержит косой черты в их имя (команды с косой чертой интерпретируются как имена файлов для выполнения, и оболочка использует использовать Это эквивалентно модели DOS, OS / 2 и Windows %PATH%.
$ HOME
Содержит расположение домашнего каталога пользователя Хотя домашний каталог пользователя также можно уточнить с помощью C-функци © g e tpwuidи getuid, $ HOMEчасто для удобства в различных сценариях оболочки (и другие контексты). Использование среды также дает пользователю возможность указать на другой каталог.
$ PWD
Эта переменная указывает на текущий каталог.Эквивалентно выводу команды pwd при вызове без аргументов.
$ DISPLAY
Содержит идентификатор дисплея, который программы X11 должны использовать по умолчанию.
$ LD_LIBRARY_PATH
Вкл. многие системы Unix с динамическим компоновщиком содержат список каталогов, разделенных двоеточиями, которые должны искать общие объекты при создании <образа7>exec, перед поиском в любых других каталогах.
$ LIBPATHили $ SHLIB_PATH
Альтернативы$ LD_LIBRARY_PATH, обычно используемые в более старых версиях Unix.
$ LANG, $ LC_ALL, $ LC _...
$ LANGиспользуется для установки языкового стандарта по умолчанию. Например, если значения локали равны pt_BR, то установлен язык (бразильский), португальский, и там, где это уместно, используется бразильская практика. Различные аспекты локализации контролируются отдельными $ LC_-переменными ($ LC_CTYPE, $ LC_ COLLATE , $ LC_DATEи т. Д.). $ LC_ALLможет использовать одного и того же языкового стандарта для всех принудительного использования того же языкового стандарта.
$ TZ
Относится к часовому поясу. Он может быть в нескольких форматах: либо с указанием самого часового пояса, либо со ссылкой на файл (в / usr / share / zoneinfo).
$ BROWSER
Содержит разделенный двоеточиями список веб-пользователей предпочтения для использования программы, которымнеобходимо разрешить пользователю просмотр контента по URL-адресу. Браузеры в списке предназначены для попытки до последнего с остановкой после первого успешного. например, в среде X11 можно Использовать графический браузер (как Firefox ), но в среде консоли терминал - можно использовать базовый браузер (например, Lynx ). Присутствует токен % s,

.

DOS

В основной среде DOS действует стандартным командным процессом, кот орый наследуетпредварительную среду, определенную в CONFIG.SYSпри первом ом т загружен.>COMMAND / E: nв диапазоне от 160 до 32767 байтов. Унаследованные от дочерних процессов, обычно уменьшаются до размера, которое соде ржат. оторые процессоры системы строки (например, 4DOS ) позволяют определить минимальный объем свободного пространства среды, может быть доступен при запуске вторичных оболочек. Содержимое среды остается неизменным при сохранении, их имена (без "%") всегдапреобразуются в верхний регистр, за исключением среды, хотя через директива CONFIG.SYS 167>SET в DR DOS 6.0 и выше (и только с SWITCHES = / L (для "разрешить имена в нижнем регистре ") в DR-DOS 7.02 и выше). В принципе, MS-DOS 7.0 и выше поддерживает имена в нижнем регистре (% windir%), но не предоставляет никаких средств для их определения. Имена среды среды ожидают, что строчные буквы, хранятся всреде так же, как и обычные переменные среды, но остаются невидимыми для программ DOS, поскольку они написаны так, чтобы только прописных чисел. Некоторые командные процессоры ограничивают максимальную модель имени 80 символами. Хотя в основном ограничены только размером сегмента среды, некоторые DOS и 16-разрядные программы Windows не ожидают, что объем среды превышает 128 символов. DR-DOS COMMAND.COMподдерживает переменные среды до 255, 4DOS даже до 512 символов. Время COMMAND.COMможно настроить (через /L:128..1024) для поддержки внутренних командных строк длиной до 1024 символов в MS-DOS 7.0 и выше, переменные среды должны быть также должен содержать не менее 1024 символов. Версиих DR-DOS, которые часто не нуждаются в их среде после установки, могут быть уменьшены или перемещены с помощью SETENVили INSTALL [HIGH] /LOADHIG параметры / Z(нулевая среда), / D [: loaddrive ](заменитедиск, например, B: TSR. COM) и / E(заменить программой), чтобы минимизировать получаемый драйвером объем резидентной памяти.

В режиме несущих переменные среды заменяется строкой нулевой пакетной длины.

Стандартные переменные или зарезервированные переменные среды включают:

% APPEND%(поддерживается, начиная с DOS 3.3)
Эта переменная содержит список каталогов, разделенных точек с запятой, в которые выполняются поиск для файлов. Обычноего можно изменить с помощью команды APPEND / E, которое также обеспечивает преобразование имен каталогов в верхний регистр. Некоторое программное обеспечение DOS фактически хранится в регистре верхнего уровня, поэтому переменную лучше использовать с помощью команд SET . Длинные имена файлов, содержащие пробелы или другие специальные символы, не должны заключаться в кавычки (").
% CONFIG%(поддерживается с MS-DOS 6.0 и PC DOS 6.1, данная переменная содержит символическое имя выбранной в момент конфигурации установки ROM-DOS )
. Оно устанавливается DOS BIOS (IO.SYS , IBMBIO.COM и т. Д.) К имени, определенному принимает CONFIG.SYS директивой MENUITEM перед запуском команды Основная основная - разрешить другие Особые случаи в AUTOEXEC.BAT и подобных пакетных заданиях в зависимости от выбранной опции во время загрузки. Это можноэмулировать в DR-DOS, используя CONFIG. SYSдиректива SET как SET CONFIG = 1.
% CMDLINE%(введена с 4DOS, также поставляется с MS-DOS 7.0 )
Эта переменная содержит полностью развернутый текстуру в данный момент государственной строки. льзуемых аргументов системы с помощью PSP (или связанных функций API ) ограничивает 126 символов и не больше доступно, когда FCB расширяется или используется по умолчанию ДТА. Хотя 4DOS поддерживает более длинные командные строки, COMMAND.COMпо-прежнему поддерживает не более 126 символов в приглашении по умолчанию (если не переопределено с помощью /U:128..255для указаний Размер внутренней строки может быть меньше расширенной (в зависимости от /L:128..1024для указаний размера буфера). В дополнение к байту длины строки в PSP, командная строка PSP обычно ограничена ASCII- 13, командные строки длиной более 126 символовобычно усекаются вставками ASCII-13 в позиции 127, но на нее нельзя подавлена ​​во всех сценариях. 354>, как в @XCOPY...для обратной совместимости Некоторые бета-версии Microsoft Chicago использовали % CMDLINE%для хранения только оставшейся части государственной строки, превышения 126 для минимизации размера среды при загрузке не -перемещение ТСР., вмес то полной строки.
% COMSPEC% (поддерживается с DOS 2.0)
Эта переменная сод ержи т полный путь 8.3 к командному процессу, обычно C: \ КОМАНДА.COM или C: \ DOS \ COMMAND. COM. Он не должен содержать>длинных имен файлов, в DR-DOS он может содержать пароли файлов и каталогов. Он настраивает основной процессором так, чтобы указывать на себя (обычно это соответствует настройке директивы CONFIG.SYS SHELL ), так что резидентная часть командного процессора может перезагружать свою временнуючасть с диска после выполнения крупных программ. Значение можно изменить во время выполнения, чтобы отразить изменения в конфигурации, которые потребляют от командного процессора перезагрузки из других мест. Переменная также используется при запуске вторичных оболочек.
% COPYCMD%(поддерживается начиная с MS-DOS 6.2 и PC DOS 6.3, также поддерживается ROM -DOS )
Позволяет пользователю указать переключатель / Y(для принятия «Да» на запросы) вкачестве значения по умолчанию для COPY , XCOPY и MOVE . Значение по умолчанию / Yможно изменить, задаваемый переключатель / -Yв строке. Переключатель / Yдает команду заменить необходимые файлы без запроса подтверждения.
% DIRCMD%(поддерживается с MS-DOS 5.0 и PC DOS 5.0, также поддерживается ROM-DOS )
Позволяет пользователю указывать индивидуальные параметры по По умолчанию длякоманды DIR , включая файлы. Предустановленные параметры по умолчанию можно переопределить, указав отрицательный переключатель в текущей строке Например, если % DIRCMD%содержит переключатель / W, то его можно переопределить с помощью DIR / - Wв государственной строке. Это похоже на переменную среду %$DIR%в DOS Plus и средство для определения переключателей по умолчанию для DIRчерез его / Cили/ Rв DR-DOS COMMAND.COM. % DIRCMD%также поддерживает внешние команды SDIR.COM/DIR.COMУкладчик в Novell DOS 7 и выше.
% LANG%(поддерживается MS-DOS 7.0 )
Эта переменная некоторыми инструментами для переключения языковых стандартов сообщений при многоязычных проблемах.
% LANGSPEC%(поддерживается с ) MS-DOS 7.0 )
Эта переменная инструментами для языкового стандарта сообщений вмногоязычных проблемах.
% NO_SEP%(поставляется с PC DOS 6.3 и DR-DOS 7.07 )
Эта переменная управляет отображением разделителей разрядов в сообщениях различных команд. Выданные по умолчанию, их можно подавить, указать SET NO_SEP = ONили SET NO_SEP = 1под DOS. DR-DOS позволяет переопределить системный разделитель тысяч, отображаемых, как в примере ниже SET NO_SEP =..
% PATH% (поддерживается начиная с DOS 2.0)
Эта переменная содержит разделенный пункт с запятой список каталогов, в котором интерпретатор команд бу дет искать исполняемые фа йлы. Эквивалентно альтернативно Unix $ PATH(но некоторые приложения DOS и Windows также используют этот список для поиска файлов данных, подобных $ LD_LIBRARY_PATHв Unix -подобных системах). Обычно его можно изменить с помощью команды PATH (или PATH / Eв MS-DOS 6.0 ), чтотакже гарантирует, что каталог имена переводятся в верхний регистр. Некоторое программное обеспечение DOS фактически, что имена будут храниться в верхнем регистре, а длина списка не будет содержать 123 символа, поэтому переменную лучше не использовать с помощью команд <>SET . Длинные имена файлов, сначала имеются пробелы или другие специальные символы, не должны заключаться в кавычки ("). По умолчанию выполняется поиск в текущем каталоге, но некоторые процессыпоследовательности строк, такие как 4DOS разрешить это включение в список «.» (для текущего каталога), чтобы переопределить этот порядок поиска; некоторые программы DOS несовместимы с расширением.
% PROMPT%(поддерживается, начиная с DOS 2.0)
Эта переменная содержит токенизированную строку $, определяющую отображение подсказки . Обычно она изменяется через PROMPT команда.
% TEMP%% TMP%)
Этипеременные содержат путь к каталогу, в котором должны быть временные файлы. только % TEM P%, тогда как сторонние программы также используют % TMP%. Обычно % TEMP%имеет приоритет над % TMP%.

Семейств о DR-DOS поддерживает ряд стандартных чисел среды, включая:

% BETA%
переменная содержит необязательное сообщение, отображаемое в другой версии (включая DR DOS 3.41 ) COMMAND.COMпри запуске вторичных оболочек.
% DRDOSCFG%/ % NWDOSCFG%/ % OPENDOSCFG%
Эта переменная содержит каталог (без завершающего "\"), в котором искать .INIи файлы конфигурации .CFG(то есть есть активные приложения DR-DOS, такие как TASKMGR.INI, TASKMAX.INI, VIEWMAX.INI , FASTBACK.CFGи т. Д., Файлы для конкретных, например COLORS.INI, или глобальные файлы, например DRDOS.INI , NWDOS.INI , OPENDOS.INI илиDOS.INI ), как используется командами INSTALLи SETUPи различные программы DR-DOS, такие как DISKOPT, DOSBOOK, РЕДАКТИРОВАТЬ, FBX, FILELINK, БЛОК, SECURITY.OVL/ NWLOGIN.EXE, SERNO, TASKMAX, TASKMGR, VIEWMAX или UNDELETE. Он не должен содержать длинных имен файлов.
% DRCOMSPEC%
Эта переменная необязательноальтернативный путь к командному процессу, имеющий приоритет перед определенным в числах % COMSPEC%, необязательно включая пароли файлов и каталогов. В качестве альтернативы он может содержать специальное значение «ON» или «1», чтобы принудительно использовать переменную % COMSPEC%даже в сценариях, где переменная % COMSPEC%может указывать на неправильный процессор командной строки, например, при запуске некоторых версий команды DR-DOS SYS под чужим операционная система.
% DRSYS%
Установка для этой переменной значения «ON» или «1» приведет к принудительному использованию некоторых версий DR-DOS SYS команда для работы в чужих системах вместо отображения предупреждения.
% FBP_USER%
Задает имя пользователя, используемое командой FastBack Файлы конфигурации FBX и {user} .FB в Novell DOS 7.
% HOMEDIR%
Эта переменная может содержать домашний каталог под DR-DOS (включая DR DOS 5.0 и 6.0 ).
% INFO%
В некоторых версиях DR-DOS COMMAND.COMэта переменная указывает отображается током $ Ien команды PROMPT . Его можно использовать, например, для информирования пользователя о выходе из вторичных оболочек.
% LOGINNAME%
В некоторых версиях DR-DOS COMMAND.COMэта переменная указать отображаемое имя пользователя.>$ U команды PROMPT , как установлены сценарии входа в систему для Novell NetWare. См. Также псевдопеременную с аналогичным названием % LOGIN_NAME%.
% MDOS_EXEC%
Эта переменная может принимать значения «ON» или «OFF» в Многопользователь ская DOS. Если этот параметр включен, разрешает приложения выполнять оболочку для вторичных оболочек с выделенным (DPA), чтобы иметь максимальную память DOS, доступную для приложений, вместотого, чтобы иметь возможность запускать их в том же домене, что и в DOS.
% NOCHAR%
Эта обычная местная установка для обозначения перемен, используемая командами в сообщениях для «Нет» в запросах [Y, N], тем самым отменяя текущее значение системы по умолчанию (обычно « N"в английской версии DR-DOS). Если он содержит, будет взят только первый символ в верхнем регистре. Y: ynиспользуется для указаний символов «Да» / «Нет» (тем самым отменяя % NOCHAR% <См.Также соответствующие директиву CONFIG.SYSNOCHAR и переменную среду % YESCHAR%.
% NOSOUND%
Настройка этой переменная на "ON" или "1" отключен звуковые сигналы по умолчанию, выдаваемые некоторые команды DR-DOS в определенных, наприме р, для информирования пользователя о завершении некоторой операции, которая требуется вмешательство пользователя, или когда была неправильная клавиша клавиша. аметров звуковых сигналовпереопределяют этот параметр.
% OS%
Эта переменная содержит связанные с DOS операционные системы Digital Research - Происхождение в пакетных заданиях и приложениях. Известные значения включают «DOSPLUS» (DOS Plus 1.2 в эмуляции DOS), «CPCDOS 4.1» (DOS Plus 1.2 в CP / M эмуляция), «DRDOS» (DR DOS 3.31 - 6.0, DR DOS Panther, DR DOS StarTrek, DR-DOS 7.02 - 7.05 ), « EZDOS» (EZ-DOS 3.41 ), «PALMDOS"и" NetWare PalmDOS"(PalmDOS 1.0 )," NWDOS"(Novell DOS 7 )," NWDOS7"(Novell DOS 7 Beta)," OPENDOS"(Caldera OpenDOS 7.01, Caldera DR-OpenDOS 7.02 )," CDOS"(Concurrent DOS, Concurrent DOS XM )," CPCDOS"(Concurrent PC DOS )," CDOS386"(Concurrent DOS 386 )," DRMDOS"(DR MultiuserDOS )," MDOS"(CCI Multiuser DOS ), «IMSMDOS» (IMS Multiuser DOS ), «REAL32» (REAL / 32 ). MS-DOS INTERSVR также ищет значение «DRDOS». См. Также переменную среду с таким же именем %OS%, представленную позже в семействе Windows NT.
% PEXEC%
В некоторых версиях DR-DOS эта переменная определяет команду, выполняемую токеном $ Xкоманды PROMPT дотого, как COMMAND.COMпредставит приглашение после возврата из выполнения внешней программы.
% SWITCHAR%
Эта переменная определяет SwitChar, который будет переменой для синтаксического анализа аргументов некоторых команд DR-DOS. Если определено, оно отменяет текущую настройку SwitChar системы. Допускаются только символы «/» (стиль DOS), «-» (стиль Unix) и «[» (стиль CP / M). См. Также соответствующие директиву CONFIG.SYS SWITCHAR (для установки SwitChar системы) и % /%системная информационная переменная в некоторых выпусках DR-DOS COMMAND.COM(для получения текущих настроек переносимых пакетных заданий).
% TASKMGRWINDIR%
Эта переменная указывает каталог, в котором находится Windows SYSTEM.INI для использования DR-DOS TASKMGRобнаружен многозадачный, отменяя его по умолчанию для поиска файла.
% VER%
Эта переменная содержитверсию операционной системы, чтобы различать разные версии DR-DOS в пакетных заданиях и при отображении команд VER . Он также используется для токена $ Vкоманды PROMPT и влияет на значение возвращаемой переменной системной информации % OS_VERSION%. Известные значения включают «1.0» (PalmDOS 1.0 ), «1.2» (DOS Plus 1.2 в эмуляции DOS), «<167.>2.0"(Concurrent DOS 386 2.0 ),"3.0"(Concurrent DOS 386 3.0 )," 3.31" (DR DOS 3.31 ), «3.32» (DR DOS 3.32 ), «3.33» (DR DOS 3.33 ), «3.34» (DR DOS 3.34 ), «3.35» (DR DOS 3.35 ), «3.40"(DR DOS 3.40 )," 3.41"(DR DOS 3.41, EZ-DOS 3.41 )," 3.41T"(DR DOS 3.41T )," 4.1"(Concurrent PC DOS 4.1 )," 5.0"(DR DOS 5.0, DR Multiuser DOS 5.0 )," 5.1"(Novell DR Multiuser DOS 5.1 )," 6.0"(DR Concurrent DOS XM 6.0, DR DOS 6.0 ),« 6.2»(DR Concurrent DOS XM 6.2 ), «7» (Novell DOS 7, Caldera OpenDOS 7.01, DR-DOS 7.02 - 7.05 ), «7,00» (CCI Multiuser DOS 7.00 ), «7.07» (DR-DOS 7.07 ), «7.1» (IMS Multiuser DOS 7.1 ), «7.21»(CCI Multiuser DOS 7.21 ),« 7.22»(CCI Multiuser DOS 7.22 ) и т. Д.
% YESCHAR%
Эта переменная может использоваться для определения символа, отображаемого некоторыми командами в сообщениях для «Да» в запросах [Y, N], тем самым отменяя текущее значение системы по умолчанию (обычно «Y» в английских версиях DR-DOS). Если он содержит, будет взят только первый символ в верхнем регистре. Некоторые команды также параметр системы строки / Yдля автоматического принятия «Да» на запрос, тем самым подавляя такие запросы. Однако, если параметр / Y: yиспользуется для указания символа «Да» (тем самым отменяя любую настройку % YESCHAR%), запросы не подавляются. См. Также соответствующую директиву CONFIG.SYSYESCHAR и переменную среды % NOCHAR%.
% $ CLS%
Эта переменная определяет последовательность управления, отправляемую драйверу консоли для очистки экрана, когда CLS command is issued, thereby overriding the internal default ("←[2J" under DR-DOS, "←E" under DOS Plus 1.2 on Amstrad machines as well as under Concurrent DOS, Multiuser DOS, and REAL/32 for VT52 terminals, or "←+" under Multiuser DOS for ASCII terminals). If the variable is not defined and no ANSI.SYS console driver is detected, the DR-DOS COMMAND.COMwill directly clear thescreen via INT 10h/AH=00hBIOS function, like MS-DOS/PC DOS COMMAND.COMdoes. A special \nnn-notation for octal numbers is supported to allow the definition of special characters like ESC (ASCII-27 = "←" = 1Bh = 33o), as f.e. in SET $CLS=\033[2J. To send the backslash ("\") itself, it can be doubled "\\".
%$DIR%
Supported by DOS Plus accepting the values "L" (long) or "W" (wide) to change the default layout ofdirectory listings with DIR. Can be overridden using the command line options /Lor /W. See also the similar environment variable %DIRCMD%and the DIRoptions /Cand /Rof the DR-DOS COMMAND.COM.
%$PAGE%
Supported by DOS Plus accepting the values "ВКЛили «ВЫКЛ» для управления разбивкой на страницы. Установка этого параметра на «ВКЛ» имеет тот же эффект, что и добавление / Pв поддерживающие его команды ( например DIR или TYPE ).
% $ LENGTH%
Используется DOS Plus для определения длины экрана консоли в строках. Используется для управления в переносимый способ, когда вывод на экран должен быть временно остановлен до тех пор, пока не будет нажата клавиша, в сочетании с опцией / P, поддерживаемой различными командами или с автоматической разбивкой на страницы. См. также соответствующие переменные среды % $WIDTH%и %DIRSIZE%, а также аналогичная псевдопеременная % _ROWS%.
% $ WIDTH%
Используется DOS Plus для определения ширины экрана консоли в столбцах. Используется для портативного управления форматированием вывода на экран таких команд, как DIR / Wили TYPE filename. См. Также соответствующие переменные среды % $LENGTH%и % DIRSIZE%, а также аналогичнаяпсевдопеременная % _COLUMNS%.
% $ SLICE%
Используется DOS Plus, принимая числовое значение для управления временные интервалы переднего плана / фона многозадачных программ. См. Также команду DOS Plus SLICE .
% $ ON%
Эта переменная может содержать необязательную управляющую последовательность для включения выделения, реверсии или раскрашивания текста. Он используется для выделения или иного управления отображением имен файлов в таких командах, какTYPE подстановочный знак, например SET $ ON = \ 033 [1mс ANSI.SYS загружен или SET $ ON = \ 016для принтера IBM или ESC / P. Чтобы узнать о стандартной восьмеричной системе счисления \ nnn, см. %$CLS%. В то время как переменная по умолчанию не определена в DOS Plus и DR-DOS, значение по умолчанию Multiuser DOS для терминала ASCII равно SET $ ON = \ 033p. См. Также связаннуюпеременную среды % $ OFF%.
% $ OFF%
Эта переменная может содержать необязательную последовательность управления для выключения выделения, реверсирования или раскрашивания текста. Он используется для возврата к нормальному выводу после отображения имен файлов в таких командах, как TYPE подстановочный знак, например SET $ OFF = \ 033 [0mс ANSI.SYS загружен или SET $ OFF = \ 024для принтера IBM или ESC / P. Чтобы узнатьо стандартной восьмеричной системе счисления \ nnn, см. %$CLS%. В то время как переменная по умолчанию не определена в DOS Plus и DR-DOS, значение по умолчанию Многопользовательская DOS для терминала ASCII равно SET $ OFF = \ 033q. См. Также связанную переменную среду % $ ON%.
% $ HEADER%
Эта переменная может содержать необязательную управляющую последовательность, выдаваемую перед выводом содержимого файла в такихкомандах, как TYPE под DR-DOS 7.02 и выше. Его можно использовать для выделения, разбивки на страницы или форматирования, например. при отправке вывода на принтер, то есть SET $ HEADER = \ 017для принтера IBM или ESC / P. Чтобы узнать о стандартной восьмеричной системе счисления \ nnn, см. %$CLS%. См. Также связанную переменную среду % $ FOOTER%.
% $ FOOTER%
Эта переменная может содержать необязательнуюуправляющую последовательность, выданную после вывода содержимого файла в таких командах, как TYPE под DR-DOS 7.02 и выше. Он используется для возврата к нормальному формату вывода, то есть SET $ FOOTER = \ 022 \ 014в примере с принтером выше. Чтобы узнать о стандартной восьмеричной системе счисления \ nnn, см. %$CLS%. См. Также связанную переменную среду % $ HEADER%.

Datalight ROM-DOS также поддерживает ряддополнительных стандартных сред, включая:

% DIRSIZE%
Эта переменная используется для определения нестандартных размеров экрана строк [, столбцов]для DIR параметров / Pи / W(аналогично % $ LENGTH%и %$WIDTH%в DOS Plus).
% NEWFILE%
Эта переменная автоматически устанавливается на первый параметр, подключенный в директиве CONFIG.SYS NEWFILE.

% TZ%, % COMM%, %SOCKETS%, % HTTP_DIR%, % HOSTNAME%и % FTPDIR%также использовались ROM-DOS.

OS / 2

% BEGINLIBPATH%
Содержит список разделенных точками с запятой каталогов, в которых выполняется поиск DLL перед каталогами, заданными стандартными % LIBPATH % (т.е. устанавливается при запуске системы с помощью специальной директивы CONFIG.SYS LIBPATH ). Здесь можно указать относительные каталоги, включая«.»для текущего каталога. См. Также связанную переменную среду % ENDLIBPATH%.
% ENDLIBPATH%
список каталогов для поиска DLL, например % BEGINLIBPATH%, но поиск выполняется после списка каталогов в % LIBPATH% .

Windows

Переменные системного пути расположения критических ресурсов системы и, как таковые, обычно не зависят от пользователя.

% APPDATA%
Содержит полный путь к каталогу Данные приложения вошедшего в систему пользователя. Не работает в Windows NT 4.0 SP6 UK.
% LOCALAPPDATA%
Эта переменная является временными файлами приложений. Его использование включает хранение тем рабочего стола, отчетов об ошибках Windows, кэширование и профили веб-браузеров.
%ComSpec %/%COMSPEC %
The % ComSpec%переменная содержит полный путь к командному процессору; в семействе операционных систем Windows NT это cmd.exe, а в Windows 9x % COMSPEC%- это COMMAND.COM.
% OS%
Переменная % OS%содержит символическое имя операционных систем, чтобы различать разные наборы функций в пакетных заданиях. Он похож на переменную среду с одинаковым именем %OS%, обнаруженную во всех связанных с DOS операционных системах Digital Research - происхождение, например, Concurrent DOS, Многопользовательский DOS., REAL / 32, DOS Plus, DR DOS, Novell DOS иOpenDOS. % OS%всегда содержит «Windows_NT» в семействе Windows NT.
% PATH%
Эта переменная содержит разделенные точки с запятой (не помещайте пробелы между ними) список каталогов, в интерпретатор команд будет искать исполняемый файл, соответствующий заданной команде. Переменные среды, представляющие пути, могут быть вложены в переменную % PATH%, но только на одном уровне косвенного обращения. Если эта переменная среда подпути сама содержит переменнуюсреду, представляющую путь, % PATH%не будет правильно расширяться при подстановке переменных. Эквивалентно альтернативно Unix $PATH.
% ProgramFiles%, % ProgramFiles (x86)%, % ProgramW6432%
Переменная % ProgramFiles%указывает на каталог Program Files, в котором хранятся все установленные программы Windows и другие. По умолчанию в русскоязычных системах это «C: \ Program Files». В 64-разрядных выпусках Windows (XP,2003, Vista) также есть % ProgramFiles (x86)%, по умолчанию это «C: \ Program Files (x86)» и % ProgramW6432%, значение по умолчанию - «C: \ Program Files». Сам % ProgramFiles%зависит от того, является ли процесс, запрашивающим переменную среду, 32-битным или 64-битным (это вызвано перенаправлением Windows-on-Windows 64-бит).
% CommonProgramFiles%
Эта переменная указывает на общих файлов. По умолчанию в английской версииWindows используется значение «C: \ Program Files \ Common Files».
% SystemDrive%
Переменная % SystemDrive%является специальной системной переменной окружения в Windows NT и ее производных. Его значение - это диск, на котором был размещен системный каталог. Значение % SystemDrive%в большинстве случаев равно «C:".
% SystemRoot%
Переменная % SystemRoot%- это специальная общесистемная переменная среда, обнаруженная в Windows NT. семействооперационных систем. Его значение - расположение системного каталога, включая диск и путь. Диск такой же, как % SystemDrive%, а путь по умолчанию при чистой установке зависит от версии операционная система. По умолчанию:
% windir%
Эта переменная указывает на каталог Windows (в операционных системах Windows NT она установлена ​​% SystemRoot%). Windows 95, Windows 98 и Windows ME по умолчанию установлены в «C: \ Windows». Для других версий Windows, см. Запись % SystemRoot%выше.

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

% ALLUSERSPROFILE%(% PROGRAMDATA%начиная с Windows Vista)
Эта переменная расширяется до полного пути к каталогу профиля всех пользователей. Этот профиль содержит и настройки, которые используются всеми системными ресурсными характеристиками. Ярлык ссылки, скопированные в меню «Пуск» для всех пользователей или в каталог рабочего стола, которыебудут в меню «Пуск» каждого пользователя или на рабочем столе соответственно.
% USERDOMAIN%
Имя рабочая группа или домен Windows, которому принадлежит текущий пользователь. Связанная переменная % LOGONSERVER%содержит имя хоста сервера, аутентифицированные учетные данные текущего пользователя (имя и пароль). Для группы домашних ПК и ПК в рабочей группе сервером аутентификации обычно является сам ПК. Для ПК в домене Windows сервераутентификации - это контроллер домена (основной контроллер домена или PDC в доменах под управлением Windows NT 4).
% USERPROFILE%
Специальная система переменная окружения в Windows NT и ее производных. Его расположение каталога профиля текущего пользователя, в котором находится куст HKCU этого пользователя (NTUSER). Пользователи могут также использовать переменную % USERNAME%для определения системы входа в систему активных пользователей.

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

Значения по умолчанию

В следующих таблицах показаны типичные значения по умолчанию для чисел среды в английских версиях Windows, поскольку они могут быть получены с помощью CMD .

( Некоторые из этих переменных такжеопределяются при запуске COMMAND.COMпод Windows, но некоторыми важными деталями: В COMMAND.COMимена среды всегда в регистре. содержат короткие 8.3, а не длинные имена файлов. Хотя некоторые переменные, присутствующие в среде CMD, отсутствуют, есть также некоторые переменные, специфичные для КОМАНДА.среда.)

ПеременнаяЗависит от локалиWindows XP (CMD)Windows Vista и новее (CMD)
%ALLUSERSPROFILE%ДаC: \ Documents and Settings \ All UsersC:\ProgramData
%APPDATA%ДаC: \ Documents and Settings \ {имя пользователя} \ Данные приложенияC: \ Users \ {имя пользователя} \ AppData \ Roa ming
% CommonProgramFiles%ДаC: \ Program Files \ Common FilesC: \ Program Files \ Common Files
% CommonProgramFiles (x86)%ДаC: \ Program Files (x86) \ Common Files (тольков 64 -битной версии)C: \ Program Files (x86) \ Common Files (только в 64-битной версии)
% CommonProgramW6432%Да% CommonProgramW6432% (не поддерживается, не заменяется никаким значением)C: \ Program Files \ Common Files (только в 64-битной версии)
% COMPUTERNAME%Нет{computername }{computername}
% ComSpec%НетC: \ Windows \ System32 \ cmd.exeC: \ Windows \ System32 \ cmd.exe
%HOMEDRIVE%НетC:C:
%HOMEPATH%Да\ Documents and Settings \ {имя пользователя}\ Users \ {имя пользователя}
% LOCALAPPDATA%Да% LOCALAPPDATA% ( не поддерживается, не заменяется никаким значением)C: \ Users \ {username} \ AppData \ Local
% LOGONSERVER%Нет\\ {domain_logon_server}\\ {сервер_логона_домена}
% PATH%ДаC: \ Windows \ system32; C: \ Windows; C: \Windows \ System32 \ Wbem; {плюс пути к программам}C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; {плюс пути к программам}
% PATHEXT%Нет.COM;.ИСПОЛНЯЕМЫЙ;.ЛЕТУЧАЯ МЫШЬ;.CMD;.VBS;.VBE;.JS;.WSF;.WSH.com;.исполняемый;.летучая мышь;.cmd;. vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
%ProgramData%Да% ProgramData% (не поддерживается, не заменяется никаким уровнем)% SystemDrive% \ ProgramData
%ProgramFiles%Да% SystemDrive% \ Program Files% SystemDrive% \ Program Files
% ProgramFiles (x86)%Да% SystemDrive% \ Program Files (x86) (только в 64-битной версии)% SystemDrive% \ Program Files (x86) (только в 64-битной версии)
% ProgramW6432%Да% ProgramW6432% (не поддерживается, не заменяется никаким значением)% SystemDrive% \ Program Files (только в 64-битной версии)
% PROMPT%НетКод длятекущего формата командной строки, обычно $ P $ GКод для текущего формата командной строки, обычно $ P $ G
% PSModulePath%% PSModulePath% (не поддерживается, не заменяется никаким уровнем)% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ Modules \
%PUBLIC%Да% PUBLIC% (не поддерживается, не заме няется никаким значением)% SystemDrive% \ Users \ Public
% SystemDrive%НетC:C:
%SystemRoot%Нет Каталог Windows, обычно C: \ Windows, ранее C: \ WINNT% SystemDrive% \ Windows
% TEMP% и %TMP%Да% SystemDrive% \ Documents and Settings \ {username} \ Local Settings \ Temp% SystemRoot% \ TEMP (для образов среды системы % TMP% и % TEMP%), % USERPROFILE% \ AppData \ Local \ Temp (для чисел среды пользователя % TMP% и % TEMP%)
% USERDOMAIN%Нет{userdomain}{userdomain}
% USERNAME%Нет}{имяпользователя}
%USERPROFILE%Да% SystemDrive% \ Documents and Settings \ { имя пользователя}% SystemDrive% \ Использовать rs \ {username}
% windir%Нет% SystemDrive% \ WINDOWS% SystemDrive% \ Windows

В этом список нет переменных среды, которая указана в каталоге «Мои доку менты »пользователя, поэтому не существует стандартного метода для установки домашнего каталога программы в качестве каталога« Мои документы ».

Переменныепсевдо-среды

DOS

Помимо истинных чисел среды, которые статически хранятся в среде до тех пор, пока не будут использоваться или удалены, существует ряд псевдо-среды для пакетной обработки. обработка.

Так называемые параметры или заменяемые параметры (терминология Microsoft / IBM), также известные как переменные замены (терминология Digital Research / Novell / Caldera) или параметры командного (терминология JP Software) %1..%9и % 0можно использоватьдля защиты запроса пакетного задания, см. ПЕРЕМЕЩЕНИЕ . В пакетных заданиях они могут быть получены так же, как переменные среды, но на самом деле они не хранятся в среде.

Некоторые процессоры командной строки (например, DR-DOS COMMAND.COM, Многопользовательский DOS MDOS.COM/TMP.EXE (процесс сообщения терминала), программное обеспечение JP 4DOS, 4OS2, 4NT, Take Command и Windows cm d.exe ) поддерживает тип псевдо-среды, называемые переменными системной информации (терминология Novell / Caldera) или внутренними переменными (терминология JP Software), которые могут использоваться различных, возможно, динамических, но считываемых только информация о запущенной системе в пакетных заданиях. Возвращаемые значения представляют состояние системы на момент запроса этих чисел; то есть чтение их несколько раз подряд может вернуть разные значения даже в пределах одной команды; ихзапросы не имеют прямого воздействия на систему. Они не включены в систему извещений в SET и не существуют для извлечения внешними программами. Если определена истинная переменная среда с тем же именем, она имеет приоритет перед использованием до тех пор, пока переменная среда не будет снова удалена. Они не чувствительны к регистру. Хотя почти все такие переменные имеют префикс подчеркивания ("_") в 4DOS и т. Д. По соглашению (например, %_SECOND%), они не входятв DR -DOS COMMAND.COM(например, %OS_VERSION%).

Кроме того, 4DOS, 4OS2, 4NT и Take Command также ряд так Они работают так же, как внутренние переменные, но могут принимать необязательные параметры (например, % @ EVAL%) и даже могут использовать статус системы в зависимости от своей функции.

Переменные системной информации, поддерживаемые DR-DOS COMMAND.COM:

% AM_PM%
Эта псевдопеременная возвращает статус текущего времени доили после полудня. DR-DOS, например, "am" или "pm" в английской версии. Она похожа на переменную систему с таким же именем в Novell NetWare для входа в система ск рипты.
% DAY%
Эта псевдопеременная возвращает дни текущей даты в формате 2 -цифровой формат с ведущими нулями, например "01".. "31". См. Также аналогичную псевдопеременную %_DAY%. Она напоминает идентично названную переменную систему в сценарии входа всистему Novell NetWare.
% DAY_OF_WEEK%
Эта псевдопеременная возвращает название дня недели в трехзначном формате. Возвращаемая строка зависит от версии DR-DOS для конкретной локали, например. «Вс», «Пн», «Вт», «Ср», «Чт», «Пт» или «Сб» в английской версии. Система похожа на переменную систему входа в систему Novell NetWare.
% ERRORLEVEL%
В COMMAND.COMDR-DOS 7.02 и вышеэта псевдопеременная возвращает последний уровень, возвращенный внешней программой или командой RETURN , например "0".. "255". См. Также псевдопеременную с таким же именем %ERRORLEVEL%в Windows и условную команду IF ERRORLEVEL .
% ERRORLVL%
В DR-DOS 7.02 и выше эта псевдопеременная возвращает последний уровень ошибки в трехзначном формате с ведущими нулями, например "000".. "255". ВМногопользовательской DOS это настоящая оболочка среды, которая автоматически обновляется до кода возврата завершающихся программ. См. Также связанную псевдопеременную %ERRORLEVEL%в DR-DOS и команду IF ERRORLEVEL .
% GREETING_TIME%
Эта псевдопеременная возвращает трехуровневое дневное время приветствия. Возвращаемая строка зависит от версии DR-DOS для конкретной локали, например. «утро», «полдень» или «вечер»в английской версии. Она похожа на переменную систему отображения с таким же именем в Novell NetWare сценариях входа в систему.
% HOUR%
Эта псевдопеременная возвращает часы текущего времени в 12-часовом формате без начальных нулей, например. "1".. "12". Она похожа на переменную систему представления с таким именем в сценариях входа в Novell NetWare.
% HOUR24%
Эта псевдопеременная возвращает часы текущего времени в 24-часовом формате в2-значном формате. с ведущими нулями, fe "00".. "23". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare. См. Также аналогичную псевдопеременную % _HOUR%.
% MINUTE%
Эта псевдопеременная возвращает минуты текущего времени в двухзначном формате с ведущими нулями, fe "00".." 59". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell Net Ware. См. Также аналогичную псевдопеременную % _MINUTE%.
% MONTH%
Эта псевдопеременная возвращает месяцы текущей даты в двухзначном формате с ведущими нулями, например. "01".. "12". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare. См. Также аналогичную псевдопеременную % _MONTH%.
% MONTH_NAME%
Эта псевдопеременная возвращает название месяца текущей даты. Возвращаемаястрока зависит от версии DR-DOS для конкретной локали, например. «январь», «февраль», «март», «апрель», «май», «июнь», «июль», «август», «сентябрь», «октябрь», или «декабрь» в английской версии. Она похожа на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare.
% NDAY_OF_WEEK%
Эта псевдопеременная возвращает номер днятекущей недели, например. «1».. «7» (с «1» для воскресенья). Она похожа на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare.
% OS_VERSION%
Эта псевдопеременная возвращает версию операционной системы в зависимости от текущего значения переменной среды % ВЕР%. Если % VER%не определен, % OS_VERSION%возвращает «off». Она похожа на переменную идентификаторас таким же именем в сценариях входа в систему Novell NetWare, которые могут возвращать версии также для версий DOS, отличных от DR-DOS.
% SECOND%
Эта псевдопеременная возвращает секунды текущего времени в 2-значном формате с ведущими нулями, например "00".. "59". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare. См. Также аналогичную псевдопеременную % _SECOND%.
% SHORT_YEAR%
Эта псевдопеременная возвращает год текущей даты в двухзначном формате с ведущими нулями, например. "93".. "99", "00".. "92". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare.
% YEAR%и % _YEAR%
Поддерживается начиная с Novell DOS 7, псевдо-переменная % YEAR%возвращает год текущей даты в 4-значном формате, например "1980".. "2099 ". Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare. DR-DOS 7.02 и выше добавил % _YEAR%для совместимости с 4DOS, возвращая то же значение.
% /%
В COMMAND.COMDR-DOS 7.02 и выше, эта псевдопеременная возвращает текущую настройку системы SwitChar, либо «/» (стиль DOS), либо «- <354.>"(Стиль Unix). См. Также связанную директиву CONFIG.SYSSWITCHAR ипеременную среды % SWITCHAR%.
% _CODEPAGE%
Эта псевдопеременная возвращает системы 'текущая кодовая страница ("1".." 65533"), fe" 437 "," 850 "," 858 ". Эта переменная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COMначиная с DR-DOS 7.02. См. также команду CHCP .
% _COLUMNS%
Эта псевдопеременная возвращает текущее количествостолбцов экрана в зависимости от режима отображения, например, «40», «80», «132» и т. д. Эта переменная была первоначально введена в 4DOS, но также стал доступен с COMMAND.COM, начиная с DR-DOS 7.02. См. также аналогичную переменную среды %$WIDTH%в DOS Plus.
% _COUNTRY%
Эта псевдопеременная возвращает текущий код страны ("1".." 65534") системы, например «1» для США, «44»для Великобритании, «49» для Германии, «20049» с ISO 8601, «21049» с поддержкой ISO 8601 и Euro. Эта переменная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также директиву CONFIG.SYSCOUNTRY .
% _DAY%
Эта псевдопеременная возвращает дни текущей даты без начальных нулей, например. "1".. "31". Эта переменная былапервоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также аналогичную псевдопеременную % DAY%.
% _HOUR%
Эта псевдопеременная возвращает часы текущего времени в 24-часовом формате без начальных нулей, например. "0".. "23". Эта перемен ная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также аналогичнуюпсевдопеременную % HOUR24%.
% _MINUTE%
Эта псевдопеременная возвращает минуты текущего времени без начальных нулей, например "0".. "59". Эта переменная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также аналогичную псевдопеременную % MINUTE%.
% _MONTH%
Эта псевдопеременная возвращает месяцы текущей даты без начальных нулей, например. "1".. "12". Эта переменная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также аналогичную псевдопеременную % MONTH%.
% _ROWS%
Эта псевдопеременная возвращает текущее количество строк экрана в зависимости от режима отображения, например. «25», «43», «50» и т. Д. Эта переменная была первоначально введена в 4DOS, но также стала доступна с COMMAND.COM начиная с DR-DOS 7.02. См. Аналогичную переменную среды %$LENGTH%в DOS Plus.
% _SECOND%
Эта псевдопеременная возвращает секунды текущего времени без начальных нулей, например. "0".. "59". Эта переменная была первоначально введена в 4DOS, но также стала доступна в COMMAND.COM, начиная с DR-DOS 7.02. См. Также аналогичную псевдопеременную % SECOND%.

Переменные системной информации, поддерживаемые DR-DOS COMMAND.COMс загруженной сетью:

% LOGIN_NAME%
Это псевдопеременная возвращает имя пользователя. Это всегда работало с NETX , но это также будет работать с Personal NetWare ODI / VLM, если текущий диск - это диск с отображением PNW (в противном случае возвращается пустая строка). См. Также переменную среды с аналогичным названием % LOGINNAME%.
% P_STATION%
Эта псевдопеременная возвращает номер физической станции вформате «????????? ???". Значение зависит от MAC-адреса сетевого адаптера, но может быть изменено. Она похожа на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare.
% STATION%
Эта псевдопеременная возвращает номер логической станции, начинающийся с «1» для первый клиент. Номера назначаются файловым сервером и остаются неизменными до тех пор, пока установлено соединение IPX. Она напоминает переменнуюидентификатора с таким же именем в сценариях входа в систему Novell NetWare.
% FULL_NAME%
Эта псевдопеременная возвращает полное имя вошедшего в систему пользователя, если доступно. Он похож на переменную идентификатора с таким же именем в сценариях входа в систему Novell NetWare. См. Также связанную псевдопеременную % LOGIN_NAME%.

Windows

Динамические переменные среды (также называемые внутренними переменными или переменными системнойинформации в DOS) являются переменны ми псевдо-среды, поддерживаемыми CMD , когда расширения командной строки включены, и они расширяются до различных дискретных значений при каждом запросе, то есть их значения могут изменяться при многократном запросе даже в рамках одной и той же команды. Хотя их можно использовать в пакетных заданиях и по запросу, они не хранятся в среде. Следовательно, они не перечислены в SETи не существуют для чтения внешними программами. Онине чувствительны к регистру.

Косвенно они также поддерживаются в Windows COMMAND.COM, который был изменен на внутренний вызов CMD.EXEдля выполнения команд.

% CD%
Эта псевдопеременная расширяется до текущего каталога, эквивалентного выходным данным команды CD при вызове без аргументов. Хотя длинное имя файла может быть возвращено в CMD.EXEв зависимости от текущего каталога, тот факт, что текущий каталог всегда будет в формате 8.3 вCOMMAND.COMзаставит его вернуть короткое имя файла в COMMAND.COM, даже если COMMANDвнутренне вызывает CMD.
% CMDCMDLINE%
Эта псевдопеременная расширяется до исходные параметры запуска CMD.EXE , fe "C: \ Windows \ system32 \ cmd.exe". В Windows COMMAND.COMэто может возвращать что-то вроде "C: \ Windows \ system32 \ cmd.exe / c..." из-за того, что COMMAND.COMвызывает CMD.EXE внутри.
% CMDEXTVERSION%
Эта псевдопеременная расширяется до версии расширений командной строки CMD.EXE , если включено (например, «1» в Windows NT, «2» в Windows 2000 и Windows XP ).
% DATE%
Эта псевдопеременная расширяется до текущей даты. Дата отображается в соответствии с настройками формата даты текущего пользователя.
% ERRORLEVEL%
Эта псевдопеременная расширяется до последнегоустановленного уровня ошибки, значения между «0» и «255» (без начальных нулей). Внешние команды и некоторые внутренние команды устанавливают уровни ошибок после выполнения. См. также псевдопеременную с таким же именем %ERRORLEVEL%в DR-DOS и команду IF ERRORLEVEL .
% RANDOM%
Эта псевдопеременная e возвращает случайное число от «0» до «32767".
% TIME%
Эта псевдопеременная возвращает текущее время. Времяотображается в соотве тствии с предпочтениями формата времени текущего пользователя. Если используются обе переменные % TIME%и %DATE%, важно прочитать их обе в этом конкретном порядке в быстрой последовательности, чтобы избежать проблемы с переключением в полночь.

См. также

Примечания

Ссылки

Дополнительная литература

Внешние ссылки

Последняя правка сделана 2021-05-19 11:42:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте