Si inicio una nueva sesión de shell de Windows y escribo:
env
Veo muchas variables de entorno establecidas. Quiero depurar la ejecución de un programa de línea de comandos eliminando todas las variables de entorno de la sesión de shell actual.
Podría ir uno por uno con el siguiente enfoque:
SET FOO=
SET BAR=
SET ... ... ...
Sin embargo, ¿hay una manera simple de eliminarlos de una vez?
env
? Nunca he oído hablar de eso antes, y no funciona aquí.Respuestas:
Puede escribir esto en un archivo por lotes:
Básicamente se ejecuta a través de cada variable de entorno, los respalda en un archivo por lotes (
backupenv.bat
) y luego borra cada variable. Para restaurarlos puedes ejecutar elbackupenv.bat
archivo.fuente
Si solo desea borrar todas las variables de entorno para el archivo por lotes, se vuelve aún más fácil.
La línea final genera todas las variables de entorno, que no deberían ser ninguna, confirmando que el código funcionó.
Debido a que
Setlocal
se utiliza, todos los cambios en el entorno se pierden una vez que finaliza el lote. Entonces, si escribeSet
después del lote, verá que todas las variables de entorno todavía están allí, por lo tanto, no es necesario almacenarlo en un archivo de copia de seguridad.fuente