SET
establecerá una variable de entorno global. Persistirá después de la ejecución de su script.
Echemos un vistazo a un ejemplo.
Primero, borro la variable para asegurarme de que no existe.
C:\Users\Oliver\Desktop>set TEST=
Una prueba rápida:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Vamos a crear ese archivo por lotes y ejecutarlo:
C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something
Veamos el valor de TEST después de la ejecución de mi .bat
archivo:
C:\Users\Oliver\Desktop>echo %TEST%
something
Entonces, sí, borrar la variable al final del script es una buena práctica.
Aún mejor sería usar SETLOCAL
y ENDLOCAL
evitar todo el problema.
Aquí, creé un nuevo .bat
archivo que usa SETLOCAL
y ENDLOCAL
:
C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal
Vamos a borrarlo TEST
y repetirlo para asegurarnos de que comencemos limpio:
C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Genial, ahora vamos a ejecutar el nuevo .bat
:
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something
C:\Users\Oliver\Desktop>endlocal
Ahora TEST
todavía estará vacío:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%