Если я запускаю новую оболочку CMD из существующей оболочки, новая оболочка наследует существующую среду. Есть ли способ запустить новую оболочку, но инициализировать ее в соответствии с системными настройками по умолчанию, а не наследовать?
Текущий результат:
B:\>set _test=blooharky
B:\>cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
B:\>set _
_test=blooharky
Желаемый результат:
B:\>set _test=blooharky
B:\>cmd /env=default
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
B:\>set _
Environment variable _ not defined
{ {1}}
[update] Решение для этого - start / i cmd
, предоставленное dbenham, ниже . Однако это не помогает в ситуации, когда текущая оболочка уже второго поколения. Пример:
d:\>set _
Environment variable _ not defined
d:\>set _test=blooharky
d:\>cmd /k
:: some work done using _test here...
:: ...but after we need a new clean shell:
d:\>start /i cmd
d:\>set _
_test=blooharky
:: uhoh, our shell isn't clean!