Переменная среды — это определяемое пользователем значение , которое может влиять на поведение запущенных процессов на компьютере. Переменные среды являются частью среды, в которой запущен процесс. Например, запущенный процесс может запросить значение переменной среды TEMP, чтобы найти подходящее место для хранения временных файлов , или переменную HOME или USERPROFILE, чтобы найти структуру каталогов, принадлежащую пользователю, запустившему процесс.
Они были введены в их современной форме в 1979 году с версией 7 Unix , поэтому включены во все разновидности и варианты операционной системы Unix с того момента, включая Linux и macOS . Начиная с PC DOS 2.0 в 1982 году, все последующие операционные системы Microsoft , включая Microsoft Windows и OS/2, также включали их в качестве функции, хотя с несколько иным синтаксисом, использованием и стандартными именами переменных.
Во всех Unix и Unix-подобных системах, а также в Windows, каждый процесс имеет свой собственный отдельный набор переменных среды . По умолчанию, когда создается процесс, он наследует дубликат среды выполнения своего родительского процесса, за исключением явных изменений, внесенных родителем при создании дочернего процесса. На уровне API эти изменения должны быть выполнены между запущенными fork
и exec
. В качестве альтернативы, из командных оболочек, таких как bash , пользователь может изменять переменные среды для вызова определенной команды, косвенно вызывая ее через env
или используя ENVIRONMENT_VARIABLE=VALUE <command>
нотацию. Работающая программа может получать доступ к значениям переменных среды для целей конфигурации.
Скрипты оболочки и пакетные файлы используют переменные окружения для передачи данных и настроек дочерним процессам . Их также можно использовать для хранения временных значений для последующей ссылки в скрипте оболочки. Однако в Unix для этого предпочтительны неэкспортируемые переменные, поскольку они не выходят за пределы процесса.
В Unix переменная окружения, измененная в скрипте или скомпилированной программе, повлияет только на этот процесс и, возможно, на дочерние процессы. Родительский процесс и любые несвязанные процессы не будут затронуты. Аналогично, изменение или удаление значения переменной внутри пакетного файла DOS или Windows изменит переменную на время существования COMMAND.COM
или соответственно.CMD.EXE
В Unix переменные среды обычно инициализируются во время запуска системы скриптами запуска системы init и, следовательно, наследуются всеми другими процессами в системе. Пользователи могут, и часто делают, дополнять их в скрипте профиля для используемой ими командной оболочки. В Microsoft Windows значение по умолчанию каждой переменной среды хранится в реестре Windows или задается в файле.AUTOEXEC.BAT
В Unix программе setuid предоставляется среда, выбранная ее вызывающим, но она запускается с полномочиями, отличными от полномочий вызывающего. Динамический компоновщик обычно загружает код из мест, указанных переменными среды $LD_LIBRARY_PATH
, и $LD_PRELOAD
запускает его с полномочиями процесса. Если бы программа setuid делала это, это было бы небезопасно, поскольку вызывающий мог бы заставить ее запустить произвольный код и, следовательно, неправильно использовать свои полномочия. По этой причине libc сбрасывает эти переменные среды при запуске в процессе setuid. Программы setuid обычно сбрасывают неизвестные переменные среды и проверяют другие или устанавливают для них разумные значения.
В общем случае набор переменных окружения функционирует как ассоциативный массив , где и ключи, и значения являются строками. Интерпретация символов в каждой строке различается в разных системах. Когда необходимо представить такие структуры данных, как списки, обычно используют список, разделенный двоеточием (обычно в Unix и Unix-подобных системах) или точкой с запятой (обычно в Windows и DOS).
Переменные могут использоваться как в скриптах, так и в командной строке . Обычно на них ссылаются, помещая специальные символы перед именем переменной или вокруг него.
Обычно имена переменных окружения выбираются в верхнем регистре. В программном коде это помогает отличать переменные окружения от других видов имен в коде. Имена переменных окружения чувствительны к регистру в операционных системах типа Unix, но не в DOS, OS/2 и Windows.
В большинстве Unix и Unix-подобных оболочек командной строки значение переменной среды извлекается путем помещения $
знака перед именем переменной. При необходимости имя также может быть заключено в фигурные скобки.
Чтобы отобразить домашний каталог пользователя, пользователь может ввести:
эхо $HOME
В Unix и Unix-подобных системах имена переменных среды чувствительны к регистру.
Команда env
отображает все переменные среды и их значения. Команда printenv
также может использоваться для печати одной переменной, указав имя этой переменной в качестве единственного аргумента команды.
В интерпретаторах командной строки DOS, OS/2 и Windows, таких как COMMAND.COM
и CMD.EXE
, переменная среды извлекается путем помещения %
знака до и после нее.
В интерпретаторах командной строки DOS, OS/2 и Windows, а также в их API , верхний и нижний регистр в именах переменных среды не различаются.
Переменная среды named HOMEDRIVE
содержит букву диска (плюс двоеточие в конце :
) домашнего каталога пользователя, а также HOMEPATH
полный путь к домашнему каталогу пользователя на этом диске.
Таким образом, чтобы увидеть домашний диск и путь, пользователь может ввести следующее:
ЭХО %HOMEDRIVE%%HOMEPATH%
Команда SET
(без аргументов) отображает все переменные среды и их значения. В Windows NT и более поздних версиях set
также может использоваться для печати всех переменных, имя которых начинается с заданного префикса, указав префикс в качестве единственного аргумента команды.
В Windows PowerShell пользователь может ввести любую из следующих команд:
echo $env:homedrive$env:homepath Запись-вывод $env:homedrive$env:homepath "$env:homedrive$env:homepath "
В PowerShell не различаются заглавные и строчные буквы в именах переменных среды.
Следующая команда отображает все переменные среды и их значения:
получить-childitem env :
Команды env
и set
могут использоваться для установки переменных среды и часто включаются непосредственно в оболочку.
Также можно использовать следующие команды, но они часто зависят от определенной оболочки.
ПЕРЕМЕННАЯ = значение # (вокруг знака равенства не должно быть пробелов)экспорт ПЕРЕМЕННОЙ # для Bourne и связанных оболочек
экспорт ПЕРЕМЕННОЙ = значение # для ksh , bash и связанных оболочек
setenv ПЕРЕМЕННАЯ значение # для csh и связанных оболочек
Несколько простых принципов определяют, как переменные окружения достигают своего эффекта.
Переменные окружения локальны для процесса, в котором они были установлены. Если порождаются два процесса оболочки и значение переменной окружения изменяется в одном из них, это изменение не будет видно другому.
Когда создается дочерний процесс, он наследует все переменные окружения и их значения от родительского процесса. Обычно, когда программа вызывает другую программу, она сначала создает дочерний процесс путем разветвления , затем дочерний процесс настраивает окружение по мере необходимости и, наконец, дочерний процесс заменяет себя вызываемой программой. Эта процедура дает вызывающей программе контроль над окружением вызываемой программы.
В оболочках Unix переменные могут быть назначены без export
ключевого слова. Переменные, определенные таким образом, отображаются командой set
, но не являются настоящими переменными окружения, поскольку они хранятся только оболочкой и неизвестны всем остальным процессам. printenv
Команда не будет отображать их, и дочерние процессы не наследуют их.
ПЕРЕМЕННАЯ = значение
Синтаксис префикса экспортирует «истинную» переменную среды в дочерний процесс, не влияя на текущий процесс: [1]
ПЕРЕМЕННАЯ = значение имя_программы [аргументы]
Сохранение переменной среды может быть на уровне сеанса или системы.
unset
— встроенная команда, реализованная как семейством оболочек Bourne ( sh
, ksh
, bash
, и т. д.), так и семейством оболочек C (csh, tcsh и т. д.) оболочек командной строки Unix . Она сбрасывает переменную оболочки, удаляя ее из памяти и экспортированной среды оболочки. Она реализована как встроенная команда оболочки , поскольку напрямую управляет внутренними компонентами оболочки. [2] [3] Переменные оболочки, доступные только для чтения, не могут быть сброшены. Если попытаться сбросить переменную, доступную только для чтения, команда unset
выведет сообщение об ошибке и вернет ненулевой код выхода.
В интерпретаторах командной строки DOS, OS/2 и Windows, таких как COMMAND.COM
и CMD.EXE
, SET
команда используется для назначения переменных среды и значений с использованием следующих аргументов:
УСТАНОВИТЬ ПЕРЕМЕННУЮ = значение
Переменная окружения удаляется с помощью:
УСТАНОВИТЬ ПЕРЕМЕННУЮ =
Команда SET
без аргументов отображает все переменные окружения вместе с их значениями; SET " "
, ноль или более пробелов, также будут включать внутренние переменные. В CMD.EXE
, можно назначать локальные переменные, которые не будут глобальными, используя SETLOCAL
команду, и ENDLOCAL
восстанавливать окружение.
Используйте переключатель /?
для отображения внутренней документации или используйте средство просмотра help
:
НАБОР /? НАБОР ПОМОЩИ SETLOCAL /? ПОМОГИТЕ SETLOCAL
В PowerShell назначение выполняется по синтаксису, похожему на Unix:
$env:ПЕРЕМЕННАЯ = "ЗНАЧЕНИЕ"
Примеры переменных среды включают в себя:
PATH
: список путей к каталогам. Когда пользователь вводит команду, не предоставляя полный путь, этот список проверяется на предмет наличия в нем пути, ведущего к команде.HOME
( Unix-подобные ) и (Microsoft Windows): указывают, где в файловой системе находится домашний каталогUSERPROFILE
пользователя .HOME/{.AppName}
( Unix-подобные ) и APPDATA\{DeveloperName\AppName}
( Microsoft Windows ): для хранения настроек приложения. Многие приложения неправильно используют USERPROFILE
для настроек приложения в Windows: USERPROFILE
следует использовать только в диалоговых окнах, которые позволяют пользователю выбирать между путями, например Documents/Pictures/Downloads/Music
; для программных целей следует использовать APPDATA
(для перемещаемых настроек приложения, общих для нескольких устройств), LOCALAPPDATA
(для локальных настроек приложения) или PROGRAMDATA
(для настроек приложения, общих для нескольких пользователей ОС). [4]TERM
( Unix-подобный ): указывает тип используемого компьютерного терминала или эмулятора терминалаvt100
(например, или dumb
).PS1
( Unix-like ): определяет, как приглашение отображается в оболочке Bourne и ее вариантах.MAIL
( Похож на Unix ): используется для указания места, где находится почта пользователя.TEMP
: место, где процессы могут хранить временные файлы.$PATH
%PATH%
.$HOME
getpwuid
и getuid
, $HOME
часто используется для удобства в различных скриптах оболочки (и других контекстах). Использование переменной окружения также дает пользователю возможность указать на другой каталог.$PWD
$DISPLAY
$LD_LIBRARY_PATH
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
%s
Может присутствовать токен, указывающий, где должен быть размещен URL-адрес; в противном случае браузер должен быть запущен с URL-адресом в качестве первого аргумента. [5] [6] [7] [8] [9]В DOS главная среда предоставляется первичным командным процессором, который наследует предварительную среду, определенную в CONFIG.SYS
при первой загрузке. Ее размер можно настроить с помощью COMMAND /E:n
параметра от 160 [10] до 32767 [10] байт. Локальные сегменты среды, унаследованные дочерними процессами, обычно уменьшаются до размера содержимого, которое они содержат. Некоторые процессоры командной строки (например, 4DOS ) позволяют определять минимальный объем свободного пространства среды, которое будет доступно при запуске вторичных оболочек. [10] Хотя содержимое переменных среды остается неизменным при сохранении, их имена (без " %
") всегда преобразуются в верхний регистр, за исключением переменных предварительной среды, определенных с помощью CONFIG.SYS
директивы SET
в DR DOS 6.0 и выше [11] [12] (и только с SWITCHES=/L
(для "разрешить имена в нижнем регистре") в DR-DOS 7.02 и выше). [10] [13] В принципе, MS-DOS 7.0 и выше также поддерживают строчные имена переменных ( %windir%
), но не предоставляют пользователю возможности их определить. Имена переменных окружения, содержащие строчные буквы, хранятся в окружении так же, как обычные переменные окружения, но остаются невидимыми для большинства программ DOS, поскольку они написаны так, чтобы ожидать переменные только в верхнем регистре. [10] [11] [12] Некоторые командные процессоры ограничивают максимальную длину имени переменной 80 символами. [10] Хотя в основном они ограничены только размером сегмента окружения , некоторые программы DOS и 16-разрядной Windows [10] [примечание 1] не ожидают, что содержимое переменных окружения превысит 128 символов. DR-DOS COMMAND.COM
поддерживает переменные окружения длиной до 255, 4DOS даже до 512 символов. [10] Поскольку COMMAND.COM
может быть настроен (через /L:128..1024
) для поддержки командных строк длиной до 1024 символов внутри MS-DOS 7.0 и выше, переменные среды должны также содержать не менее 1024 символов. В некоторых версиях DR-DOS среда, передаваемая драйверам, которым часто не нужна их среда после установки, может быть сжата или перемещена через параметры SETENV
или INSTALL[HIGH]
/ (нулевая среда), (заменить диск, например ) и (переместить среду выше программы), чтобы минимизировать эффективно получаемый драйвером резидентный след памяти .LOADHIGH
/Z
/D[:loaddrive]
B:TSR.COM
/E
[14] [13] [11] [15] [16] [17]
В пакетном режиме несуществующие переменные среды заменяются строкой нулевой длины.
Стандартные переменные среды или зарезервированные переменные среды включают в себя:
%APPEND%
(поддерживается с DOS 3.3)APPEND /E
команды, которая также обеспечивает преобразование имен каталогов в верхний регистр. Некоторое программное обеспечение DOS на самом деле ожидает, что имена будут сохранены в верхнем регистре, а длина списка не будет превышать 121 [10] символа, поэтому переменную лучше не изменять с помощью SET
команды. Длинные имена файлов, содержащие пробелы или другие специальные символы, не должны заключаться в кавычки ( "
).%CONFIG%
(поддерживается начиная с MS-DOS 6.0 и PC DOS 6.1 , также поддерживается ROM-DOS [18] )IO.SYS
, IBMBIO.COM
, и т. д.) в имя, определенное соответствующей CONFIG.SYS
директивой MENUITEM
перед запуском основного командного процессора. Ее основное назначение — разрешить дальнейшие особые случаи в AUTOEXEC.BAT
и подобных пакетных заданиях в зависимости от выбранной опции во время загрузки. Это можно эмулировать в DR-DOS, используя CONFIG.SYS
директиву SET
типа SET CONFIG=1
.%CMDLINE%
(введено в 4DOS , также поддерживается с MS-DOS 7.0 )COMMAND.COM
по умолчанию. Хотя 4DOS поддерживает более длинные командные строки, по-прежнему поддерживает только максимум 126 символов в приглашении по умолчанию (если не переопределено с помощью /U:128..255
указания размера буфера командной строки), но тем не менее внутренние командные строки могут стать длиннее за счет расширения переменной fe (в зависимости от /L:128..1024
указания размера внутреннего буфера). В дополнение к байту длины командной строки в PSP командная строка PSP обычно ограничена ASCII-13 , и командные строки длиннее 126 символов обычно будут обрезаны путем вставки ASCII-13 в позицию 127, [12] но на это нельзя полагаться во всех сценариях. [12] [nb 2] Переменная будет подавлена для внешних команд, вызываемых с предшествующим @
символом -, например, @XCOPY ...
для обратной совместимости и для минимизации размера среды при загрузке неперемещаемых программ terminate-and-stay-resident . Некоторые бета-версии Windows Chicago использовали %CMDLINE%
для хранения только остатка командной строки, превышающей 126 символов, вместо полной командной строки. [11] [12]%COMSPEC%
(поддерживается с DOS 2.0)C:\COMMAND.COM
C:\DOS\COMMAND.COM
CONFIG.SYS
SHELL
%COPYCMD%
(поддерживается начиная с MS-DOS 6.2 и PC DOS 6.3 , также поддерживается ROM-DOS [18] )/Y
переключатель (предполагать "Да" в запросах) как значение по умолчанию для команд COPY
, XCOPY
и MOVE
. Значение по умолчанию /Y
можно переопределить, указав /-Y
переключатель в командной строке. /Y
Переключатель указывает команде заменить существующие файлы без запроса подтверждения.%DIRCMD%
(поддерживается начиная с MS-DOS 5.0 и PC DOS 5.0 , также поддерживается ROM-DOS [18] )DIR
команды, включая спецификации файлов. Предварительно заданные параметры по умолчанию можно переопределить, указав отрицательный параметр в командной строке. Например, если %DIRCMD%
содержит /W
параметр, то его можно переопределить, используя DIR /-W
в командной строке. Это похоже на переменную окружения %$DIR%
в DOS Plus [19] и возможность определения параметров по умолчанию DIR
через его /C
или /R
параметры в DR-DOS COMMAND.COM
. [11] %DIRCMD%
также поддерживается внешними командами SDIR.COM
/ DIR.COM
Stacker в Novell DOS 7 и выше. [11]%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
в PC DOS. DR-DOS дополнительно позволяет переопределить системный разделитель тысяч, отображаемый как в fe SET NO_SEP=.
. [10]%PATH%
(поддерживается с DOS 2.0)$PATH
переменной Unix (но некоторые приложения DOS и Windows также используют этот список для поиска файлов данных, аналогичных тем, что есть $LD_LIBRARY_PATH
в Unix-подобных системах). Обычно он изменяется с помощью команды PATH
(или PATH /E
в MS-DOS 6.0 ), которая также гарантирует, что имена каталогов будут преобразованы в верхний регистр. Некоторое программное обеспечение DOS на самом деле ожидает, что имена будут сохранены в верхнем регистре, а длина списка не будет превышать 123 [10] символов, [nb 1] поэтому переменную лучше не изменять с помощью этой SET
команды. [10] Длинные имена файлов, содержащие пробелы или другие специальные символы, не должны заключаться в кавычки ( "
). По умолчанию сначала выполняется поиск в текущем каталоге, но некоторые процессоры командной строки, такие как 4DOS, позволяют .
также включать в список " " (для "текущего каталога"), чтобы переопределить этот порядок поиска; некоторые программы DOS несовместимы с этим расширением. [10]%PROMPT%
(поддерживается с DOS 2.0)$
-токенизированную строку, определяющую отображение приглашения . Обычно она изменяется с помощью PROMPT
команды.%TEMP%
(и %TMP%
)%TEMP%
. Инструменты операционной системы обычно используют только , тогда как сторонние программы также используют %TMP%
. Обычно %TEMP%
имеет приоритет над %TMP%
.Семейство DR-DOS поддерживает ряд дополнительных стандартных переменных среды, включая:
%BETA%
COMMAND.COM
при запуске вторичных оболочек. [20]%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
, EDIT
, FBX
, FILELINK
, LOCK
, SECURITY.OVL
/ NWLOGIN.EXE
, SERNO
, TASKMAX
, TASKMGR
, VIEWMAX
, или UNDELETE
. [11] Он не должен содержать длинных имен файлов .%DRCOMSPEC%
%COMSPEC%
переменной, опционально включая пароли файлов и каталогов . В качестве альтернативы она может содержать специальное значение " " или " " для обеспечения использования переменной даже в сценариях, где переменная может указывать на неправильный процессор командной строки, например, при запуске некоторых версий команды DR-DOS под чужой операционной системой. [22]ON
1
%COMSPEC%
%COMSPEC%
SYS
%DRSYS%
ON
» или « 1
» заставит некоторые версии команды DR-DOS SYS
работать под управлением сторонних операционных систем вместо отображения предупреждения. [22]%FBP_USER%
FBX
файлами конфигурации в Novell DOS 7. [ 11]{user}.FB
%HOMEDIR%
%INFO%
COMMAND.COM
эта переменная определяет строку, отображаемую токеном $I
команды PROMPT
. [20] Ее можно использовать, например, для информирования пользователя о том, как выйти из вторичных оболочек.%LOGINNAME%
COMMAND.COM
эта переменная определяет имя пользователя, отображаемое токеном $U
команды PROMPT
, как это установлено, например, сценариями входа в систему для Novell NetWare . [10] [11] [20] См. также псевдопеременную с похожим названием %LOGIN_NAME%
.%MDOS_EXEC%
ON
" или " OFF
" в многопользовательском DOS . Если эта опция включена, операционная система разрешает приложениям выходить на вторичные оболочки с освобожденной областью программ DOS (DPA), чтобы иметь максимальную память DOS, доступную для вторичных приложений, вместо того, чтобы запускать их в том же домене, что и в DOS. [23] [24]%NOCHAR%
[Y,N]
запросах, тем самым переопределяя текущее системное значение по умолчанию (обычно " N
" в английских версиях DR-DOS). Если она содержит строку, будет взят только первый символ, в верхнем регистре. Некоторые команды также поддерживают параметр командной строки /Y
для автоматического принятия "Да" в запросах, тем самым подавляя такие запросы. Однако, если параметр /Y:yn
используется для указания символов "Да"/"Нет" (тем самым переопределяя любую %NOCHAR%
настройку), запросы не подавляются. См. также связанную CONFIG.SYS
директиву NOCHAR
и переменную окружения %YESCHAR%
. [22]%NOSOUND%
ON
" или " 1
" отключит звуковые сигналы по умолчанию, издаваемые некоторыми командами DR-DOS в определенных ситуациях, например, для информирования пользователя о завершении некоторой операции, о необходимости взаимодействия с пользователем или при нажатии неправильной клавиши. Параметры командной строки для включения определенных звуковых сигналов переопределят эту настройку.%OS%
DOSPLUS
" ( DOS Plus 1.2 в эмуляции DOS), " CPCDOS 4.1
" (DOS Plus 1.2 в эмуляции CP /MDRDOS
), " " ( DR DOS 3.31–6.0 , DR DOS Panther , DR DOS StarTrek , DR-DOS 7.02 [21] - 7.05 ), " " ( EZ-DOS 3.41 ), " " и " " ( OS 1.0 ), " " ( Novell DOS 7 ), " " ( Novell DOS 7 Beta ), " " ( Caldera OpenDOS 7.01 , Caldera DR-OpenDOS 7.02 ), " " ( Concurrent DOS , Concurrent DOS XM ), " " ( Concurrent PC DOS ), " " ( Concurrent DOS 386 ), " " ( DR Multiuser DOS ), " " ( CCI Многопользовательский DOS ), [23] " " ( IMS Многопользовательский DOS ), " " ( REAL/32 ). [11] [25] MS-DOS также ищет значение " ". [25] См. также одноименную переменную окружения, позже представленную в семействе Windows NT .EZDOS
PALMDOS
NetWare PalmDOS
NWDOS
NWDOS7
OPENDOS
CDOS
CPCDOS
CDOS386
DRMDOS
MDOS
IMSMDOS
REAL32
INTERSVR
DRDOS
%OS%
%PEXEC%
$X
команды PROMPT
, перед COMMAND.COM
отображением приглашения после возврата из выполнения внешней программы. [11] [21]%SWITCHAR%
/
" (стиль DOS), " -
" (стиль Unix) и " [
" (стиль CP/M). См. также связанную CONFIG.SYS
директиву SWITCHAR
(для установки настройки SwitChar системы) и %/%
переменную системной информации в некоторых выпусках DR-DOS COMMAND.COM
(для получения текущей настройки для переносимых пакетных заданий).%TASKMGRWINDIR%
SYSTEM.INI
используемая TASKMGR
многозадачным приложением DR-DOS, переопределяя процедуру по умолчанию для поиска файла. [11]%VER%
VER
. [21] Она также используется для $V
токена команды PROMPT
и влияет на значение, возвращаемое переменной системной информации %OS_VERSION%
. Известные значения включают " 1.0
" ( PalmDOS 1.0 ), " 1.2
" ( DOS Plus 1.2 в эмуляции DOS), " 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 ), [23] " 7.22
" ( CCI Multiuser DOS 7.22 ) и т. д. [11] [25] [23]%YESCHAR%
[Y,N]
запросах, тем самым переопределяя текущее системное значение по умолчанию (обычно « Y
» в английских версиях DR-DOS). Если она содержит строку, будет взят только первый символ, в верхнем регистре. Некоторые команды также поддерживают параметр командной строки /Y
для автоматического принятия «Да» в запросах, тем самым подавляя такие запросы. Однако, если параметр /Y:y
используется для указания символа «Да» (тем самым переопределяя любую %YESCHAR%
настройку), запросы не подавляются. См. также связанную CONFIG.SYS
директиву YESCHAR
и переменную окружения %NOCHAR%
. [22]%$CLS%
CLS
выдаче команды, тем самым переопределяя внутреннее значение по умолчанию (" ←[2J
" в DR-DOS, " ←E
" в DOS Plus 1.2 на машинах Amstrad [19], а также в Concurrent DOS , Multiuser DOS и REAL/32 для терминалов VT52 или " ←+
" в Multiuser DOS для терминалов ASCII ). [23] Если переменная не определена и ANSI.SYS
драйвер консоли не обнаружен, DR-DOS COMMAND.COM
напрямую очистит экран через функцию INT 10h/AH=00h
BIOS , как это делают MS-DOS/PC DOS COMMAND.COM
. Поддерживается специальная \nnn
-нотация для восьмеричных чисел , позволяющая определять специальные символы, такие как ESC ( ASCII-27 = "←" = 1Bh = 33o), как, например, в SET $CLS=\033[2J
. Чтобы отправить саму обратную косую черту (" \
"), ее можно удвоить " \\
". [11] [20] [23]%$DIR%
/L
или /W
. [20] [19] См. также похожую переменную окружения %DIRCMD%
и DIR
параметры /C
и /R
DR-DOS COMMAND.COM. [11]%$PAGE%
ON
" или " OFF
" для управления пагинацией. Установка этого значения в " ON
" имеет тот же эффект, что и добавление /P
к командам, поддерживающим его (например, DIR или TYPE ). [20] [19]%$LENGTH%
/P
опцией, поддерживаемой различными командами, или с автоматической пагинацией. [20] [19] См. также связанные переменные окружения %$WIDTH%
и , %DIRSIZE%
а также похожую псевдопеременную %_ROWS%
.%$WIDTH%
DIR /W
или TYPE filename
. [20] [19] См. также связанные переменные окружения %$LENGTH%
и , %DIRSIZE%
а также похожую псевдопеременную %_COLUMNS%
.%$SLICE%
SLICE
.%$ON%
TYPE wildcard
, как , например, SET $ON=\033[1m
с загруженным ANSI.SYS или SET $ON=\016
для принтера IBM или ESC/P . Для специальной \nnn
поддерживаемой восьмеричной нотации см %$CLS%
. . [11] [19] Хотя переменная по умолчанию не определена в DOS Plus и DR-DOS, значение по умолчанию Multiuser DOS для терминала ASCII равно SET $ON=\033p
. [20] [23] См. также связанную переменную окружения %$OFF%
.%$OFF%
TYPE wildcard
, как , например , SET $OFF=\033[0m
с загруженным ANSI.SYS или SET $OFF=\024
для принтера IBM или ESC/P . Для специальной \nnn
поддерживаемой восьмеричной нотации см %$CLS%
. . [11] [19] Хотя переменная по умолчанию не определена в DOS Plus и DR-DOS, значение по умолчанию Multiuser DOS для терминала ASCII равно SET $OFF=\033q
. [20] [23] См. также связанную переменную окружения %$ON%
.%$HEADER%
TYPE
в DR-DOS 7.02 и выше. Она может использоваться для выделения, разбиения на страницы или форматирования, например, при отправке вывода на принтер, например, SET $HEADER=\017
для принтера IBM или ESC/P . Для специальной \nnn
поддерживаемой восьмеричной нотации см %$CLS%
. . [20] См. также связанную переменную окружения %$FOOTER%
.%$FOOTER%
TYPE
в DR-DOS 7.02 и выше. Она используется для возврата к нормальному формату вывода, т. е. SET $FOOTER=\022\014
в примере принтера выше. Для специальной \nnn
поддерживаемой восьмеричной нотации см %$CLS%
. . [20] См. также связанную переменную окружения %$HEADER%
.Datalight ROM-DOS также поддерживает ряд дополнительных стандартных переменных среды , включая:
%DIRSIZE%
rows[,cols]
для DIR
опций /P
и /W
(аналогично DOS Plus %$LENGTH%
и %$WIDTH%
в DOS Plus). [18]%NEWFILE%
%TZ%
, %COMM%
, %SOCKETS%
, %HTTP_DIR%
, %HOSTNAME%
и %FTPDIR%
также используются ROM-DOS. [18]
%BEGINLIBPATH%
%LIBPATH%
(которая задается во время запуска системы с помощью специальной директивы CONFIG.SYSLIBPATH
). Здесь можно указать относительные каталоги, включая " .
" для текущего рабочего каталога. См. также связанную переменную окружения %ENDLIBPATH%
.%ENDLIBPATH%
%BEGINLIBPATH%
, но поиск выполняется после списка каталогов в %LIBPATH%
.Эти переменные среды относятся к расположению критически важных ресурсов операционной системы и, как таковые, обычно не зависят от пользователя. [26]
%APPDATA%
%LOCALAPPDATA%
%ComSpec%
/%COMSPEC%
%ComSpec%
содержит полный путь к командному процессору; в операционных системах семейства Windows NT это cmd.exe , а в Windows 9x — %COMSPEC%
COMMAND.COM .%OS%
%OS%
содержит символическое имя семейства операционных систем для различения различных наборов функций в пакетных заданиях . Она напоминает идентично названную переменную окружения, %OS%
которая есть во всех операционных системах DOS, связанных с Digital Research , таких как Concurrent DOS, Multiuser DOS , REAL/32, DOS Plus , DR DOS , Novell DOS и OpenDOS. %OS%
всегда содержит строку " Windows_NT
" в семействе Windows NT . [27]%PATH%
%PATH%
, но только на одном уровне косвенности. Если эта переменная среды подпути сама содержит переменную среды, представляющую путь, %PATH%
не будет правильно расширяться при подстановке переменной. Эквивалентно переменной Unix $PATH
.%PROCESSOR_ARCHITECTURE%
, %PROCESSOR_ARCHITEW6432%
, %PROCESSOR_IDENTIFIER%
, %PROCESSOR_LEVEL%
,%PROCESSOR_REVISION%
%PUBLIC%
%PUBLIC%
(введенная в Vista) указывает на публичный (псевдо)каталог профиля пользователя " C:\Users\Public
".%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-bit [28] ).%CommonProgramFiles%
, %CommonProgramFiles(x86)%
,%CommonProgramW6432%
C:\Program Files\Common Files
". В 64-разрядных версиях Windows (XP, 2003, Vista) также есть %ProgramFiles(x86)%
, который по умолчанию равен " C:\Program Files (x86)
", и %ProgramW6432%
, который по умолчанию равен " C:\Program Files
". %ProgramFiles%
Само по себе зависит от того, является ли процесс, запрашивающий переменную среды, 32- или 64-разрядным (это вызвано перенаправлением Windows-on-Windows 64-bit ).%OneDrive%
%OneDrive%
— это специальная системная переменная среды, которая есть в Windows NT и ее производных. Ее значение — это путь, по которому (если установлен и настроен) находится каталог Onedrive. Значение %OneDrive%
в большинстве случаев — « C:\Users\{Username}\OneDrive\
».%SystemDrive%
%SystemDrive%
— это специальная системная переменная окружения, которая есть в Windows NT и ее производных. Ее значение — диск, на котором был размещен системный каталог. Значение %SystemDrive%
в большинстве случаев — « C:
».%SystemRoot%
%SystemRoot%
— это специальная системная переменная окружения, которая есть в семействе операционных систем Windows NT. Ее значение — это расположение системного каталога, включая диск и путь. Диск тот же, что %SystemDrive%
и путь по умолчанию при чистой установке, который зависит от версии операционной системы. По умолчанию:\WINDOWS
».\WINNT
".\WINNT35
».\WTSRV
».%windir%
%SystemRoot%
). Windows 95 – 98 и Windows ME по умолчанию устанавливаются в " C:\Windows
". Для других версий Windows см. %SystemRoot%
запись выше.Переменные управления пользователями [ требуется ссылка ] хранят информацию, связанную с ресурсами и настройками, принадлежащими различным профилям пользователей в системе. Как правило, эти переменные не относятся к критическим системным ресурсам или местоположениям, которые необходимы для работы ОС.
%ALLUSERSPROFILE%
( %PROGRAMDATA%
начиная с Windows Vista)%USERDOMAIN%
%LOGONSERVER%
, содержит имя хоста сервера, который аутентифицировал учетные данные текущего пользователя (имя и пароль). Для домашних ПК и ПК в рабочей группе сервером аутентификации обычно является сам ПК. Для ПК в домене Windows сервером аутентификации является контроллер домена (основной контроллер домена или PDC в доменах на базе Windows NT 4).%USERPROFILE%
NTUSER
). Пользователи также могут использовать эту %USERNAME%
переменную для определения идентификатора входа активного пользователя.Необязательные системные переменные [ требуется ссылка ] не указаны явно по умолчанию, но могут использоваться для изменения поведения по умолчанию некоторых встроенных команд консоли. Эти переменные также не обязательно должны быть явно указаны как аргументы командной строки.
В следующих таблицах показаны типичные значения по умолчанию некоторых переменных среды в английских версиях Windows, поскольку их можно получить в CMD
.
(Некоторые из этих переменных также определены при работе COMMAND.COM
под Windows, но отличаются некоторыми важными деталями: в COMMAND.COM
, имена переменных среды всегда пишутся в верхнем регистре. Некоторые, но не все переменные, содержат короткие 8.3 , а не длинные имена файлов . Хотя некоторые переменные, присутствующие в CMD
среде, отсутствуют, есть также некоторые переменные, специфичные для COMMAND
среды.)
В этом списке нет переменной среды, которая бы указывала на расположение каталога «Мои документы» пользователя , поэтому не существует стандартного метода установки каталога «Мои документы» в качестве домашнего каталога программы.
Командные процессоры в DOS и Windows также поддерживают псевдопеременные среды. Это значения, которые извлекаются как переменные среды, но на самом деле не хранятся в среде, а вычисляются по запросу.
Помимо истинных переменных среды, которые статически хранятся в среде до тех пор, пока не будут изменены или удалены, существует ряд псевдопеременных среды для пакетной обработки.
Так называемые параметры замены или заменяемые параметры (терминология Microsoft/IBM), также известные как переменные замены (терминология Digital Research/Novel/Caldera) [21] или параметры пакетного файла (терминология JP Software) [10] %1
.. %9
и %0
могут использоваться для извлечения параметров вызова пакетного задания, см SHIFT
. . В пакетных заданиях они могут быть извлечены так же, как переменные среды, но фактически не хранятся в среде.
Некоторые процессоры командной строки (например, DR-DOS COMMAND.COM
, [21] Multiuser DOS MDOS.COM
/ TMP.EXE
(Terminal Message Process), JP Software 4DOS , 4OS2 , 4NT , Take Command и Windows cmd.exe ) поддерживают тип псевдопеременных среды, называемых системными информационными переменными (терминология Novell / Caldera) [21] или внутренними переменными (терминология JP Software), [10], которые можно использовать для извлечения различной, возможно, динамической, но доступной только для чтения информации о работающей системе в пакетных заданиях. Возвращаемые значения представляют состояние системы в момент запроса этих переменных; то есть, чтение их несколько раз подряд может возвращать разные значения даже в пределах одной команды; запрос к ним не оказывает прямого влияния на систему. Поскольку они не хранятся в среде, они не перечисляются SET и не существуют для извлечения внешними программами. Если определена настоящая переменная среды с тем же именем, она имеет приоритет над соответствующей переменной, пока переменная среды не будет снова удалена. Они нечувствительны к регистру. Хотя почти все такие переменные по соглашению 4DOS и т. д. имеют префикс в виде подчеркивания (" ") [10] , они не попадают под действие DR-DOS (fe )._
%_SECOND%
COMMAND.COM
%OS_VERSION%
Кроме того, 4DOS, 4OS2, 4NT и Take Command также поддерживают так называемые переменные функции , [10] включая определяемые пользователем. Они работают так же, как внутренние переменные , но могут принимать необязательные параметры (fe %@EVAL[]%
) и даже могут изменять состояние системы в зависимости от своей функции.
Системные информационные переменные, поддерживаемые DR-DOS COMMAND.COM
:
%AM_PM%
am
" или " pm
" в английской версии. Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%DAY%
01
.." 31
". См. также похожую псевдопеременную %_DAY%
. Она напоминает переменную идентификатора с идентичным именем в сценариях входа в систему Novell NetWare .%DAY_OF_WEEK%
Sun
", " Mon
", " Tue
", " Wed
", " ", " Thu
" Fri
, или " Sat
" в английской версии. Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%ERRORLEVEL%
COMMAND.COM
DR-DOS 7.02 и выше эта псевдопеременная возвращает последний уровень ошибки, возвращенный внешней программой или RETURN
командой, например " 0
".." 255
". [30] [31] См. также одноименную псевдопеременную %ERRORLEVEL%
в Windows и IF ERRORLEVEL
условную команду.%ERRORLVL%
000
".." 255
". [30] [31] В многопользовательском DOS это настоящая переменная окружения, автоматически обновляемая оболочкой в соответствии с кодом возврата завершающихся программ. [23] См. также связанную псевдопеременную %ERRORLEVEL%
в DR-DOS и IF ERRORLEVEL
команду.%GREETING_TIME%
morning
", " afternoon
" или " evening
" в английской версии. Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%HOUR%
1
".." 12
". Она напоминает одноименную переменную-идентификатор в сценариях входа Novell NetWare .%HOUR24%
00
".." 23
". Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare . См. также похожую псевдопеременную %_HOUR%
.%MINUTE%
00
".." 59
". Она напоминает переменную идентификатора с идентичным именем в сценариях входа в систему Novell NetWare . См. также похожую псевдопеременную %_MINUTE%
.%MONTH%
01
".." 12
". Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare . См. также похожую псевдопеременную %_MONTH%
.%MONTH_NAME%
January
", " February
", " March
", " April
", " ", " May
", " June
", " July
" August
, " September
", " October
", или " December
" в английской версии. Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%NDAY_OF_WEEK%
1
".." 7
" (с " 1
" для воскресенья). Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%OS_VERSION%
%VER%
. Если %VER%
не определено, %OS_VERSION%
возвращает " off
". Она напоминает идентично названную переменную идентификатора в сценариях входа Novell NetWare , которая может возвращать версии также для не-DR-DOS версий DOS.%SECOND%
00
.." 59
". Она напоминает переменную идентификатора с идентичным именем в сценариях входа в систему Novell NetWare . См. также похожую псевдопеременную %_SECOND%
.%SHORT_YEAR%
93
".." 99
", " 00
".." ". Она напоминает переменную идентификатора92
с идентичным именем в сценариях входа в систему Novell NetWare .%YEAR%
и%_YEAR%
%YEAR%
псевдопеременная возвращает год текущей даты в 4-значном формате, например " 1980
".." 2099
". Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare . DR-DOS 7.02 и выше добавлены %_YEAR%
для совместимости с 4DOS , возвращая то же значение. [10]%/%
COMMAND.COM
DR-DOS 7.02 и выше эта псевдопеременная возвращает текущую настройку SwitChar системы, либо " /
" (стиль DOS), либо " -
" (стиль Unix). [32] [33] См. также связанную CONFIG.SYS
директиву SWITCHAR и переменную окружения %SWITCHAR%
.%_CODEPAGE%
1
".." 65533
"), например " 437
", " 850
", " 858
". Эта переменная была первоначально введена 4DOS [10] , но также стала доступна COMMAND.COM
с DR-DOS 7.02. См. также CHCP
команду.%_COLUMNS%
40
", " 80
", " 132
" и т. д. Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую переменную окружения %$WIDTH%
в DOS Plus.%_COUNTRY%
1
".." 65534
"), например " 1
" для США, " 44
" для Великобритании, " 49
" для Германии, " 20049
" с поддержкой ISO 8601 , " 21049
" с поддержкой ISO 8601 и евро . [33] [34] Эта переменная была первоначально введена в 4DOS , [10] но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также CONFIG.SYS
директиву COUNTRY
.%_DAY%
1
".." 31
". Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую псевдопеременную %DAY%
.%_HOUR%
0
".." 23
". Эта переменная была первоначально введена 4DOS , [10] но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую псевдопеременную %HOUR24%
.%_MINUTE%
0
".." 59
". Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую псевдопеременную %MINUTE%
.%_MONTH%
1
".." 12
". Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую псевдопеременную %MONTH%
.%_ROWS%
25
", " 43
", " 50
" и т. д. Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. похожую переменную окружения %$LENGTH%
в DOS Plus.%_SECOND%
0
".." 59
". Эта переменная была первоначально введена в 4DOS [10] , но также стала доступна с COMMAND.COM
DR-DOS 7.02. См. также похожую псевдопеременную %SECOND%
.Переменные системной информации, поддерживаемые DR-DOS COMMAND.COM
с загруженной сетью:
%LOGIN_NAME%
NETX
, но также будет работать с ODI / VLM Personal NetWare , если текущий диск является PNW-отображенным диском (в противном случае возвращается пустая строка). См. также переменную окружения с похожим названием .%LOGINNAME%
%P_STATION%
????????????
". Значение зависит от MAC-адреса сетевого адаптера, но может быть переопределено. Оно напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%STATION%
1
" для первого клиента. Номера назначаются файловым сервером и остаются неизменными до тех пор, пока соединение IPX остается установленным. Она напоминает переменную идентификатора с идентичным именем в сценариях входа Novell NetWare .%FULL_NAME%
%LOGIN_NAME%
.Динамические переменные среды (также называемые внутренними переменными или переменными системной информации в DOS) являются псевдопеременными среды, поддерживаемыми CMD.EXE
при включении расширений командной строки, и они расширяются до различных дискретных значений при каждом запросе, то есть их значения могут изменяться при многократном запросе даже в пределах одной команды. Хотя их можно использовать в пакетных заданиях и в командной строке, они не сохраняются в среде. Следовательно, они не перечислены SET
и не существуют для чтения внешними программами. Они не чувствительны к регистру.
Косвенно они также поддерживаются в Windows COMMAND.COM
, которая была изменена для внутреннего вызова CMD.EXE
для выполнения команд.
%CD%
CD
при вызове без аргументов. Хотя длинное имя файла может быть возвращено в CMD.EXE
зависимости от текущего каталога, тот факт, что текущий каталог всегда будет в формате 8.3COMMAND.COM
в , приведет к тому, что она вернет короткое имя файла в COMMAND.COM
, даже при COMMAND
внутренних вызовах CMD
.%CMDCMDLINE%
CMD.EXE
, например " 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
" (без начальных нулей). [30] [35] [31] Внешние команды и некоторые внутренние команды устанавливают уровни ошибок при выполнении. См. также одноименную псевдопеременную %ERRORLEVEL%
в DR-DOS и IF ERRORLEVEL
команду.%HIGHESTNUMANODENUMBER%
%RANDOM%
0
" и " 32767
".%TIME%
%TIME%
и %DATE%
, важно считывать их обе в этом порядке в быстрой последовательности, чтобы избежать проблем с переходом на полночь.Unix-подобные оболочки имеют похожие динамически генерируемые переменные, bash $RANDOM
является хорошо известным примером. Однако, поскольку эти оболочки имеют концепцию локальных переменных, они описываются как специальные локальные переменные. [36]
Стандартизация переменной среды BROWSER. Эрик Рэймонд продвигает использование новой переменной среды BROWSER в дополнение к существующим переменным PAGER, MAILER и EDITOR. Эта работа тестируется как эксперимент по взлому социальных систем.
Env::Browser - Обработка переменной среды $BROWSER и запуск веб-браузера
Переменная окружения BROWSER может быть установлена так, чтобы[…] всегда выбирать нужный вам браузер.
{{cite book}}
: |work=
игнорируется ( помощь ) (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включающая описание многих недокументированных функций и внутренних компонентов. Приведенная ссылка указывает на преобразованную в HTML версию файла, которая является частью коллекции MPDOSTIP.ZIP
.) [1]4DOS5TIP.TXT
, которая является частью коллекции MPDOSTIP.ZIP
.) [2][…] SETENV […] для скрытия и последующего восстановления […] предварительной среды […] Используя SETENV.COM, вы можете сэкономить несколько килобайт редкой памяти DOS […] в зависимости от количества драйверов, загруженных
INSTALL=
/
INSTALLHIGH=
/
HIINSTALL=,
и текущего размера предварительной среды. […] эта оригинальная […] функция не встречается ни в одном известном менеджере памяти/оптимизаторе. […]
[…] В процедуре prepareTSR CTMOUSE.ASM я нашел комментарий относительно нулевой среды. […]
DESQview
или нулевая среда
DRDOS
? […] блок освобождения среды […] пропустить, если возникнут проблемы […] нулевая панель для
утилит в стиле
MEM […]
[…] установите DRSYS=ON (необязательно, чтобы сообщить SYS, что вы знаете о том, что вы запускаете его в чужой среде, и хотите продолжить в любом случае, не требуя индивидуального подтверждения некоторых предупреждений и дополнительных информационных экранов, отображаемых в этом сценарии, в противном случае) […]
{{cite book}}
: |work=
игнорируется ( помощь ) [5] [6] Архивировано 11.09.2017 в archive.today (Примечание. BATTIPS.TXT является частью MPDOSTIP.ZIP. Предоставленная ссылка указывает на более старую версию файла BATTIPS.TXT, преобразованную в HTML.) [7]