Если я начну новый сеанс оболочки Windows и введите:
env
Я вижу множество переменных окружения. Я хочу отладить запуск программы командной строки, удалив все переменные среды из текущего сеанса оболочки.
Я мог бы пойти по одному со следующим подходом:
SET FOO=
SET BAR=
SET ... ... ...
Однако есть ли простой способ очистить их всех за один раз?
env
? Я никогда не слышал об этом раньше, и это не работает здесь.Ответы:
Вы можете написать это в пакетном файле:
Он в основном проходит через каждую переменную среды, копирует их в командный файл (
backupenv.bat
) и затем очищает каждую переменную. Для их восстановления вы можете запуститьbackupenv.bat
файл.источник
Если вы хотите очистить только все переменные среды для пакетного файла, это станет еще проще.
В последней строке выводятся все переменные среды, которых не должно быть, подтверждающие работоспособность кода.
Поскольку
Setlocal
используется, все изменения среды теряются после окончания пакета. Поэтому, если вы наберетеSet
после пакета, вы увидите, что все переменные среды все еще там, и, следовательно, нет необходимости сохранять их в файле резервной копии.источник