Переменная среды — это определяемое пользователем значение , которое может влиять на поведение запущенных процессов на компьютере. Переменные среды являются частью среды, в которой выполняется процесс. Например, запущенный процесс может запросить значение переменной среды 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 переменные среды обычно инициализируются во время запуска системы с помощью сценариев запуска системы и, следовательно, наследуются всеми другими процессами в системе. Пользователи могут и часто дополняют их в сценарии профиля командной оболочки, которую они используют. В 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
Если xyz
необходимо добавить к значению переменной HOME
, можно ввести:
эхо ${ HOME } xyz
В Unix и Unix-подобных системах имена переменных среды чувствительны к регистру.
Команда env
отображает все переменные среды и их значения. Эту команду printenv
также можно использовать для печати одной переменной, указав имя этой переменной в качестве единственного аргумента команды.
В интерпретаторах командной строки DOS, OS/2 и Windows, таких как COMMAND.COM
и CMD.EXE
, переменная среды извлекается путем размещения %
знака до и после нее.
В интерпретаторах командной строки DOS, OS/2 и Windows, а также в их API верхний и нижний регистр не различается для имен переменных среды.
Именованная переменная среды HOMEDRIVE
содержит букву диска (плюс завершающее двоеточие :
) домашнего каталога пользователя, а также HOMEPATH
полный путь к домашнему каталогу пользователя на этом диске.
Итак, чтобы увидеть домашний диск и путь, пользователь может ввести следующее:
ЭХО %HOMEDRIVE%%HOMEPATH%
Команда SET
(без аргументов) отображает все переменные среды и их значения. set
также может использоваться для печати всех переменных, имя которых начинается с заданного префикса, указав префикс в качестве единственного аргумента команды.
В Windows PowerShell пользователь может ввести любое из следующего:
echo $env:homedrive$env:homepath Вывод записи $env:homedrive$env:homepath "$env:homedrive$env:homepath"
В PowerShell для имен переменных среды не различаются верхний и нижний регистр.
Следующая команда отображает все переменные среды и их значения:
get-childitem окружение :
Команды env
и set
могут использоваться для установки переменных среды и часто включаются непосредственно в оболочку.
Следующие команды также можно использовать, но они часто зависят от определенной оболочки.
ПЕРЕМЕННАЯ = значение # (вокруг знака равенства не должно быть пробелов)экспортировать VARIABLE # для Bourne и связанных с ним оболочек
экспорт ПЕРЕМЕННАЯ = значение # для ksh , bash и связанных оболочек
setenv VARIABLE значение # для 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
:
НАБОР /? ПОМОЩЬ НАСТРОЙКА СЕТЛОКАЛЬНЫЙ /? ПОМОГИТЕ УСТАНОВИТЬСЯ
В PowerShell присваивание соответствует синтаксису, аналогичному Unix:
$env:VARIABLE = "ЗНАЧЕНИЕ"
Примеры переменных среды включают в себя:
PATH
: список путей к каталогам. Когда пользователь вводит команду, не указывая полный путь, этот список проверяется, чтобы определить, содержит ли он путь, ведущий к команде.HOME
( Unix-like ) и (Microsoft Windows): указывают, где в файловой системе находится домашний каталогUSERPROFILE
пользователя .HOME/{.AppName}
( Unix-подобные ) и APPDATA\{DeveloperName\AppName}
(Microsoft Windows): для хранения настроек приложения. Многие приложения неправильно используют USERPROFILE
настройки приложения в Windows: USERPROFILE
следует использовать только в диалоговых окнах, которые позволяют пользователю выбирать между путями, например Documents/Pictures/Downloads/Music
; для программных целей APPDATA
(для перемещаемых настроек приложения, общих для нескольких устройств), LOCALAPPDATA
(для локальных настроек приложения) или PROGRAMDATA
(для настроек приложения, общих для нескольких пользователей ОС). [4]TERM
( Unix-like ): указывает тип используемого компьютерного терминала или эмулятора терминалаvt100
(например, или dumb
).PS1
( Unix-like ): определяет, как приглашение отображается в оболочке Bourne и ее вариантах.MAIL
( Unix-like ): используется для указания места поиска почты пользователя.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] [nb 1] не ожидают, что содержимое переменных среды превысит 128 символов. DR-DOS COMMAND.COM
поддерживает переменные среды длиной до 255, 4DOS — даже до 512 символов. [10] Поскольку в MS-DOS 7.0 и выше COMMAND.COM
можно настроить (через /L:128..1024
) поддержку командных строк длиной до 1024 символов, переменные среды также должны содержать не менее 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
по-прежнему поддерживает только максимум 126 символов в приглашении по умолчанию (если не переопределено с помощью /U:128..255
указания размера буфера командной строки), но, тем не менее, внутренние командные строки могут стать длиннее за счет расширения переменных (в зависимости от /L:128..1024
чтобы указать размер внутреннего буфера). В дополнение к байту длины командной строки в PSP, командная строка PSP обычно ограничена ASCII-13 , а командные строки длиной более 126 символов обычно усекаются путем вставки ASCII-13 в позицию 127, [12] но на это нельзя полагаться во всех сценариях. [12] [nb 2] Эта переменная будет подавлена для внешних команд, вызываемых с предшествующим @
символом -, например, в @XCOPY ...
целях обратной совместимости и для минимизации размера среды при загрузке неперемещаемых резидентных программ завершения и пребывания . Некоторые бета-версии 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
под DOS ПК. DR-DOS дополнительно позволяет переопределить системный разделитель тысяч, отображаемый как в fe SET NO_SEP=.
. [10]%PATH%
(поддерживается начиная с DOS 2.0)$PATH
(но некоторые приложения 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
т . д., файлы определенного класса, такие как , или глобальные файлы, такие как , , , или ), используемые командами and и различными программами DR-DOS, такими как , , , , , , / , , , , , или . [11] Он не должен содержать длинные имена файлов .VIEWMAX.INI
FASTBACK.CFG
COLORS.INI
DRDOS.INI
NWDOS.INI
OPENDOS.INI
DOS.INI
INSTALL
SETUP
DISKOPT
DOSBOOK
EDIT
FBX
FILELINK
LOCK
SECURITY.OVL
NWLOGIN.EXE
SERNO
TASKMAX
TASKMGR
VIEWMAX
UNDELETE
%DRCOMSPEC%
%COMSPEC%
, опционально включая пароли файлов и каталогов . Альтернативно, он может содержать специальное значение " ON
" или " 1
", чтобы принудительно использовать переменную %COMSPEC%
даже в тех сценариях, где %COMSPEC%
переменная может указывать на неправильный процессор командной строки, например, при запуске некоторых версий DR- Команда DOS SYS
под чужой операционной системой. [22]%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 ), " " и " " ( PalmDOS 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 Multiuser DOS ) , [23] " " ( IMS Multiuser 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
, которая будет использоваться многозадачностью DR-DOS TASKMGR
, переопределяя процедуру по умолчанию для поиска файла. [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), например fe в SET $CLS=\033[2J
. Чтобы отправить саму обратную косую черту (" \
"), ее можно удвоить " \\
". [11] [20] [23]%$DIR%
/L
или /W
. [20] [19] См . также аналогичную переменную среды %DIRCMD%
и DIR
параметры DR-DOS COMMAND.COM. [11]/C
/R
%$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). [18]%$LENGTH%
%$WIDTH%
%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
.%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-битным (это вызвано 64-битным перенаправлением Windows-on-Windows ).%CommonProgramFiles%
C:\Program Files\Common Files
В английской версии Windows по умолчанию установлено значение " ".%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 по умолчанию установлены в « ». Информацию о других версиях Windows см. в записи выше.C:\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/Novell/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 и т. д. по соглашению (fe %_SECOND%
), [10] они не относятся к DR-DOS COMMAND.COM
(fe %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
". [29] [30] См. также псевдопеременную с таким же названием %ERRORLEVEL%
в Windows и IF ERRORLEVEL
условную команду.%ERRORLVL%
000
".." 255
". [29] [30] В многопользовательской 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 , которые могут возвращать версии также для версий DOS, отличных от DR-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). [31] [32] См. также соответствующую 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 и поддержкой евро . . [32] [33] Эта переменная была первоначально введена в 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
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
" (без ведущих нулей). [29] [34] [30] Внешние команды и некоторые внутренние команды устанавливают уровни ошибок при выполнении. См. также псевдопеременную с таким же именем %ERRORLEVEL%
в DR-DOS и IF ERRORLEVEL
команду.%HIGHESTNUMANODENUMBER%
%RANDOM%
0
" и " 32767
".%TIME%
%TIME%
обе %DATE%
переменные и, важно читать их обе в этом конкретном порядке в быстрой последовательности, чтобы избежать проблем с опрокидыванием в полночь.Unix-подобные оболочки имеют схожие динамически генерируемые переменные, $RANDOM
хорошо известным примером является bash. Однако, поскольку в этих оболочках используется концепция локальных переменных, вместо этого они описываются как специальные локальные переменные. [35]
Стандартизация переменной среды БРАУЗЕР. Эрик Рэймонд предлагает использовать новую переменную среды 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=
и текущий размер предварительной среды. […] эту оригинальную […] функцию нельзя найти ни в одном известном менеджере/оптимизаторе памяти. […]
[…] В процедуре подготовки TSR CTMOUSE.ASM я нашел комментарий относительно нулевого окружения. […]
DESQview
или
DRDOS
с нулевым окружением? […] освободить блок среды […] пропустить, если возникнут проблемы […] нулевая панель для утилит в стиле
MEM
[…]
[…] установите DRSYS=ON (необязательно, чтобы сообщить SYS, что вы знаете о том, что запускаете его во внешней среде, и хотите продолжить в любом случае, без необходимости индивидуального подтверждения некоторых предупреждений и дополнительных информационных экранов, отображаемых в этом сценарии, в противном случае) […]
{{cite book}}
: |work=
игнорируется ( помощь ) [5] [6] Архивировано 11 сентября 2017 г. по адресу archive.today (Примечание. BATTIPS.TXT является частью MPDOSTIP.ZIP. Предоставленная ссылка указывает на более старую версию BATTIPS.TXT, преобразованную в HTML. файл.) [7]