Разница между Dynami c Переменными среды и Нормальными переменными среды в CMD - PullRequest
0 голосов
/ 14 апреля 2020

Я читал статью о ss64 о переменных среды в командной строке.

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

Dynami c Переменные среды доступны только для чтения и вычисляются при каждом раскрытии переменной. Когда все переменные перечислены с помощью SET, они не появятся в списке. Не пытайтесь непосредственно УСТАНОВИТЬ переменную Dynami c.

Я понял два последних утверждения. Но я не могу понять первый.

Сомнения: -

  • %userprofile% это энергонезависимая переменная, которая разрешается в %SystemDrive%\Users\{username}, а %homepath% является энергозависимая переменная, которая разрешается в Users\{Username}. Обе команды очень похожи (за исключением systemdrive). Тогда почему один энергозависимый, а другой энергонезависимый?

  • По каким критериям переменная должна быть динамической c? что делает %appdata% (просто пример) энергонезависимой переменной?

  • Dynami c Переменные вычисляются каждый раз, когда переменная раскрывается, это имеет смысл для таких переменных, как %CD% %DATE% %TIME% %RANDOM% et c. поскольку они потеряли бы свою функциональность, если бы они были энергонезависимыми . Но как бы это повлияло на %homepath%?

  • Некоторые энергонезависимые переменные имеют в своем составе динамические c компоненты. Ex. %userprofile% имеет %SystemDrive% и {username} на своем пути. Тогда как эти переменные не являются динамическими c?

...