Toda la estructura de Windows está dividida en directorios, o carpetas. De esta manera, cuando abrimos nuestro disco duro desde el explorador (C:), podemos encontrar todas las carpetas, dentro de las cuales podremos encontrar otras carpetas o archivos. Sin embargo, no todo el árbol de directorios es igual de importante para Windows. Hay algunas carpetas (como Windows) que tiene más importancia y es necesario tenerla siempre localizada para poder acceder a ella, y a sus archivos, con mayor facilidad. Y para esto es para lo que están las variables de sistema o de entorno, también conocido como PATH.
El PATH de Windows son los directorios que el sistema operativo debe tener siempre identificados y a mano para poder acceder a ellos fácilmente. Normalmente suelen estar identificados por un nombre corto en lugar de introducir la ruta completa hasta dicho directorio. También son directorios en los que se busca siempre por defecto cuando ejecutamos un comando para ver si se encuentra allí o no.
De hecho, en la mayoría de las ocasiones los contenidos que albergan estas ubicaciones de disco que utiliza el propio sistema operativo son extremadamente delicados. Esto quiere decir que o bien están protegidos contra cualquier tipo de modificación por parte del propio Windows, o incluso ocultos de forma predeterminada. Y es que el borrado accidental o modificación de algunos de esos archivos podría significar un desastre total en el software de Microsoft. Incluso podríamos perder el acceso al propio sistema operativo al dañarlo de tal modo que no podamos arrancar el PC. Precisamente por todo ello debemos tener un especial cuidado a la hora de trabajar con todos estos archivos y carpetas punto
Un ejemplo práctico de las variables de Windows es que, cuando usamos CMD, es allí donde el sistema busca los ejecutables (.com, .exe, .bat y .cmd) que intentamos ejecutar. De esta manera nos ahorramos tener que introducir toda la ruta a la hora de ejecutar un comando.
Esto nos permite, por ejemplo, podemos ejecutar el comando «ping» escribiéndolo directamente en lugar de desplazarnos hasta su directorio (C > Windows > WinSxS > wow64_microsoft-windows-ping-utilities_31bf3856ad364e35_10.0.18362.1_none_85e3bf554173f930) cada vez que queremos ejecutarlo.
Tipos de variables de entorno
Windows tiene dos tipos de variables de entorno que debemos diferenciar. Por un lado, nos encontramos con las variables de entorno de usuario, que son directorios asociados especialmente al usuario del ordenador. Cada usuario puede tener sus propias variables de entorno personalizadas. Aquí es donde se encuentra la variable de entorno PATH, que vamos a ver cómo personalizar.
Si instalamos algún programa (por ejemplo, Pyhton, o FFMPEG), podemos añadir su ruta al PATH, dentro de las variables de entorno de usuario para poder usar estos programas desde CMD fácilmente, sin tener que escribir toda su ruta.
Por otro lado, nos encontramos con las variables del sistema. Estas son las críticas del sistema operativo, y no se deben modificar sin saber exactamente lo que hacemos. Estas variables se suelen compartir entre usuarios.
Variables de entorno por defecto
En Windows podemos encontrarnos con una serie de variables de entorno por defecto que podremos usar para acceder rápidamente a determinados apartados del sistema operativo sin tener que escribir las rutas completas (ya que, en ocasiones, pueden ser diferentes). Estas son las siguientes:
- %ALLUSERSPROFILE% – Usada para acceder al directorio donde se guarda la información por defecto compartida por todos los usuarios. Equivale a C:/ProgramData.
- %APPDATA% – Oculta por defecto, guarda datos de los programas instalados en el PC. Equivale a C:/Users/UserName/AppData/Roaming.
- %CommonProgramFiles% – Directorio donde se guardan archivos comunes necesarios por el sistema y los programas de este. Equivale a C:/Program Files/Common Files.
- %CommonProgramFiles(x86)% – Igual que el anterior, pero para los programas de 32 bits.
- %CommonProgramW6432% – Igual que los anteriores, pero exclusivo de los sistemas de 64 bits.
- %COMPUTERNAME% – Nos permite conocer el nombre del ordenador.
- %ComSpec% – Vincula el intérprete de comandos, es decir, CMD. Por defecto apunta a C:/Windows/System32/cmd.exe.
- %HOMEDRIVE% – Nos indica la letra de la unidad principal del sistema, generalmente C:.
- %HOMEPATH% – Apunta a la carpeta personal del usuario, sin le letra de unidad. Por defecto, a /Users/UserName.
- %LOCALAPPDATA% – Accede a la carpeta «Local» dentro de «AppData», donde los programas guardan todo tipo de información. Equivale a C:/Users/UserName/AppData/Local.
- %LOGONSERVER% – En empresas, apunta a la localización del servidor logon.
- %PATH% – Lista de directorios, separados por un punto y coma, con todos los directorios donde se buscarán archivos y ejecutables.
- %PATHEXT% – Lista de extensiones que se buscarán al consultar archivos dentro del PATH.
- %ProgramData% – Localización de la carpeta ProgramData, oculta por defecto. Se encuentra en %SystemDrive%/ProgramData.
- %ProgramFiles% – Directorio de «Archivos de programa», en su versión de 64 bits. Se encuentra en %SystemDrive%/Program Files.
- %ProgramFiles(x86)% – Igual que el anterior, pero para 32 bits.
- %ProgramW6432% – Igual que el anterior, pero usado por la capa de emulación WOW64.
- %PROMPT% – Código especial para indicar el prompt por defecto de la línea de comandos. Por defecto es $P$G.
- %PSModulePath% – Localizaciones por defecto usadas por PowerShell.
- %PUBLIC% – Vincula al directorio público de usuario. Apunta a %SystemDrive%/Users/Public.
- %SystemDrive% – La letra de la unidad donde está instalado Windows.
- %SystemRoot% – Directorio donde está instalado Windows. Por defecto, %SystemDrive%/Windows.
- %TEMP% y %TMP% – Vinculan a los directorios donde se guardan todo tipo de archivos temporales en el PC.
- %USERDOMAIN% – El dominio al que pertenece un usuario.
- %USERNAME% – El nombre del usuario.
- %USERPROFILE% – Directorio al perfil personal del usuario donde se guardan sus carpetas personales. Por defecto, %SystemDrive%/Users/UserName.
- %windir% – Equivalente moderna a %SystemRoot%. Apunta a %SystemDrive%/WINDOWS.
Precauciones antes de cambiar PATH y las variables de entorno
Como vemos, el PATH de Windows es muy útil para usar ciertos programas y ciertas herramientas de forma más rápida y sencilla. Sobre todo, si solemos usar a menudo CMD. Sin embargo, no podemos modificar esto a la ligera, sobre todo a la hora de borrar elementos de este apartado.
Muchos programas necesitan estar incluidos en el PATH para funcionar, o declarados como una variable de entorno. Si nosotros lo eliminamos, a propósito, o por error, el programa simplemente dejará de funcionar, no podrá ejecutarse. Y solo podremos recuperarlo, o bien reinstalando el programa (para que se vuelva a copiar ahí), o añadiéndolo manualmente, si sabemos dónde está.
Por ello, antes de continuar, os recomendamos crear un punto de restauración de Windows. Así, si hacemos algo como no debemos, o algo sale mal, podremos recuperar el PC tal como estaba para volver a intentarlo.
Para lograr esto que os comentamos basta con que tecleemos el término Recuperación en el cuadro de búsqueda de la barra de tareas para así poder crear un punto de restauración en ese preciso instante, antes de realizar los cambios de las variables.
Cómo cambiar los directorios del PATH de Windows
Aunque esta es una configuración pensada para usuarios ya bastante avanzados, en realidad es muy sencillo cambiar las variables de entorno y añadir nuevas entradas al PATH, siempre y cuando sigamos los pasos que os mostramos a continuación sin dejarlo ninguno por el camino.
Desde Configuración
Para ello, lo primero que debemos hacer es abrir la ventana de propiedades del sistema. Para ello, haremos clic con el botón derecho sobre el botón de Inicio, y elegiremos la opción de «Sistema». Se nos abrirá una nueva ventana del menú de Configuración. A la derecha de ella encontraremos un enlace a «Información del sistema«, sobre el que haremos clic.
A continuación, entraremos en la configuración avanzada de Windows haciendo clic sobre el enlace que aparece en la parte izquierda de la ventana de información de sistema.
Se abrirá una ventana llamada «Propiedades del sistema«. Aquí, seleccionaremos la pestaña «Opciones avanzadas«, y haremos clic, en la parte inferior, sobre «Variables de entorno» situado al final de este cuadro de diálogo.
Nos aparecerá una ventana como la siguiente. En ella podemos ver todas las variables del PATH (tanto de entorno de usuario como del sistema) que utiliza nuestro sistema operativo. Lo que queremos hacer nosotros es añadir un nuevo directorio al PATH de Windows. Para ello, localizamos la variable PATH y pulsamos sobre «Editar».
Nos aparecerá una lista con todas las variables de entorno que forman parte del PATH de Windows. La lista puede ser más o menos grande según los programas que tengamos instalados.
Por ejemplo, nosotros tenemos un directorio llamado «CMD», dentro del cual tenemos una serie de programas para ejecutar desde CMD o PowerShell. Por lo tanto, añadimos este directorio al PATH de Windows para poder ejecutar estos programas directamente desde CMD sin tener que introducir todo el directorio hasta el ejecutable.
Igual que nosotros hemos agregado esta carpeta, podemos hacerlo igual con cualquier otra. Por ejemplo, si usamos la herramienta ADB de Android, podemos agregarla también al PATH para acceder a ella rápidamente, de forma que no será necesario acceder al directorio donde está almacenado para poder acceder a esta herramienta, especialmente si hacemos uso habitual de ella con nuestro smartphone Android. O a las librerías de FFMPEG.
Aceptamos los cambios y listo. No hace falta reiniciar el ordenador. Una vez añadido este directorio a la variable del sistema, cuando ejecutemos un comando en CMD o PowerShell, automáticamente lo buscará en ese nuevo directorio (y en todos los demás). Si no lo encuentra, reiniciando el equipo se solucionará el problema y podremos utilizar la aplicación añadida al PATH sin problemas.
Cómo editar las variables en Windows 11
Es posible que buena parte de vosotros en estos instantes estéis ya utilizando el último sistema operativo de Microsoft lanzado al mercado, nos referimos a Windows 11. Por tanto también se puede dar la circunstancia de que necesitemos editar estas variables de entorno para así personalizar el funcionamiento del propio sistema operativo. Lo cierto es que la edición de estos importantes componentes del sistema es muy similar a lo que hemos visto en Windows 10.
Para acceder directamente a la ventana que os hemos comentado, ya que la aplicación de Configuración en esta última versión varía con respecto a Windows 10, lo mejor que podemos hacer en este caso es abrir una ventana de ejecución del sistema a través de la combinación de teclas Win + R. Una vez aparezca el cuadro de búsqueda correspondiente no tendremos más que empezar a teclear el término variables de entorno para que aparezca una entrada con el editor como tal.
Ahora ya no tenemos más que pinchar sobre la misma para que en pantalla aparezca la correspondiente ventana de configuración y sigamos los pasos anteriormente descritos para Windows 10.
Establecer variables usando PowerShell
También podemos usar la herramienta de Windows PowerShell para poder establecer variables de entorno. Para ello, lo primero que vamos a hacer es usar el buscador del menú Inicio, escribir Powershell y ejecutarlo con derechos de administrador. De esta manera evitamos las posibles restricciones que puedan aparecer al utilizar comandos y especialmente si vamos a trabajar con determinadas carpetas del propio sistema operativo.
A continuación, para enumerar todas las variables de la ruta en PoweShell escribimos el siguiente comando:
[Environment]::GetEnvironmentVariable(“PATH”)
Si lo que queremos es listar todas las variables PATU escribimos este otro comando y pulsamos Enter:
$Variable_Name = “C:Path-Here”
Para declarar una nueva variable PATH escribimos este comando y pulsamos Enter:
[Environment]::SetEnvironmentVariable(“PATH”, “$PATH;$Variable_Name”)
Ya solo nos queda reiniciar el PC para que los cambios surtan efectos.
Si queremos verificar si la variable del sistema se agregó correctamente, debemos escribir el comando y pulsar Enter:
echo %YOUR_ENV_VARIABLE%
En caso de que lavariable PATH no se haya añadido correctamente, nos aparecerá el siguiente mensaje de advertencia:
C:WINDOWSsystem32>echo &C:Path_Variable% ECHO is on. The system cannot find the path specified.
En este caso deberíamos poner un especial cuidado ahora de modificar estos parámetros a base de comandos ya que una equivocación podría dañar seriamente el propio Windows y afectar negativamente a su funcionamiento. Esta opción desde Powershell debería estar limitada a aquellos usuarios que saben bien lo que hacen y tienen conocimientos avanzados de Windows.
Otros trucos para las variables de entorno
Además de poder añadir directorios para ejecutar programas desde CMD más rápidamente, también podemos aprovechar las variables de entorno para realizar otras modificaciones interesantes en el sistema operativo.
Por ejemplo, podemos crear alias para determinadas rutas creando nuevas variables. Y otro truco muy interesante es la posibilidad de cambiar las variables ya especificadas. Por ejemplo, podemos cambiar el directorio por defecto de TEMP y TMP a otro disco duro u otra unidad para que ocupen menos espacio y poder limpiarlo más fácilmente.
Esto ya depende de nosotros. Aunque, eso sí, os recomendamos no realizar cambios al azar sin saber bien lo que hacemos. Y, por supuesto, no eliminar variables ni entradas del PATH, ya que podemos hacer que Windows deje de funcionar, aunque, dependiendo de las que queramos modificar, es probable que Windows no nos permita hacer el cambio. Sin embargo, lo mejor es evitar en la medida de lo posible tocar lo que, probablemente, no sepamos cómo funciona y mucho menos revertir el cambio, ya que no podemos hacer una copia de seguridad previa para restaurarla en caso de que falle, como si sucede con el registro de Windows.
¿Realmente necesito modificar el PATH?
Como hemos explicado, esta configuración puede sernos útil ya que nos va a permitir tener ejecutables y directorios siempre a mano sin necesidad de recordar su ubicación. Sin embargo, ¿realmente necesitamos hacerlo? Lo más seguro es que, si te has hecho esta pregunta, no lo necesites.
Si solemos trabajar a menudo con comandos de CMD o PowerShell, entonces sí. Cambiar el PATH y las variables de entorno nos ayudará a poder defendernos mucho más rápido con estas consolas. Lo mismo ocurre si somos programadores, compilamos código o hacemos scripts. Sin embargo, si no solemos hacer nada de eso, entonces cambiar las variables de entorno de Windows no nos aportará nada. Incluso, si tocamos donde no debemos, podemos hacer que el PC deje de funcionar.
Como dice el refrán «si no sabes, para qué te metes». Si no sabemos lo que estamos tocando, lo más probable es que acabemos modificando algo que posteriormente no nos acordemos o sepamos revertir. Teniendo en cuenta la importancia del PATH para muchas de las aplicaciones del sistema, especialmente las que funcionan a través de la línea de comandos, no es recomendable adentrarse en este campo. Lo mismo sucede con el registro de Windows, sin embargo, con este último, si podemos hacer una copia previa del registro y restaurarla si no sabemos revertir los cambios o nos acordamos de cómo hacerlo.
Todas las aplicaciones básicas para interactuar con Windows están disponibles desde cualquier directorio del sistema, están, por decirlo de una manera sencilla, omnipresentes en el sistema y podemos utilizarlas desde cualquier ubicación sin necesidad de establecer previamente la ruta de donde se ubica. Tal y como está diseñado Windows, realmente no es necesario añadir ni eliminar ninguna aplicación del path a no ser que se trate de una aplicación muy concreta y sin la que no vamos a poder trabajar de forma habitual.
Si utilizamos habitualmente la línea de comandos y queremos hacer uso de una aplicación concreta que únicamente funciona a través de CMD, modificar el PATH de Windows para incluir la ruta donde se encuentra tiene todo el sentido del mundo. Sin embargo, como hemos comentado más arriba, a no ser que seamos programadores y tengamos unas necesidades muy específicas y concretas, no existe ninguna aplicación que realmente merezca la pena incluir en el PATH de Windows.
Qué problemas podemos tener
Si modificamos esta entrada como no debemos podemos encontrarnos con todo tipo de problemas. El menos serio es que intentemos ejecutar un comando dentro de la consola (como ping), y Windows no sea capaz de localizarlo. Podríamos ejecutar el comando sin problemas introduciendo la ruta completa del comando, pero ¿quién se acuerda de ella sin volver arriba?
Dependiendo de las entradas que modifiquemos, también podemos encontrarnos con otros problemas más serios. Por ejemplo, podemos hacer que muchos programas, que hacen uso de las rutas del PATH, dejen de funcionar. Ya sea por depender de herramientas de Windows, como por guardar en esta ruta su propio directorio, si se borra y no es capaz de localizarlo se borrará. Incluso puede llegar el punto en el que nuestro propio Windows no funcione por no ser capaz de localizar los directorios o los archivos necesarios para el sistema funcione bien.
Por ello, si vamos a hacer muchos cambios en esta base de datos y no queremos tener problemas en el futuro, lo mejor que podemos hacer es apuntar todos los directorios que vienen incluidos de serie en el sistema de manera que, si se borra o modifica alguno sin querer, podamos restaurarlos. Y, si no, tendremos que restaurar el sistema a un estado anterior… si es que aún funciona dicha herramienta. Y, como último recurso, si no conseguimos restaurar el equipo o si tras restaurarlo, seguimos teniendo los mismos problemas, la última opción que nos queda para solucionar este problema pasa por reinstalar Windows de cero, formateando la unidad y comenzando de cero para así eliminar cualquier rastro de la configuración anterior de Windows.
Si no sabemos que vamos a tocar y como revertir los cambios, lo mejor que podemos hacer es no tocar el PATH hasta que nos hayamos documentado previamente acerca de su funcionamiento y como hacer los cambios para que no afecten a la integridad de todo el sistema, siempre cuando valoremos en primer lugar, si realmente merece la pena hacer los cambios o no.
Cómo ver las variables entorno en Linux
El sistema operativo de código abierto en sus diferentes distribuciones, nos referimos a Linux, también cuenta con unas series de variables de entorno con las que podemos interactuar desde Terminal, por ejemplo.
En este caso en concreto nos referimos a una serie de variables definidas para el Shell del sistema operativo actual y heredadas proceso secundario. Estas variables de entorno a las que nos referimos de Linux se utilizan para transmitir información a procesos que se producen desde el Shell como tal. Antes de nada debemos tener en consideración que es un funcionamiento y objetivo es ligeramente diferente a lo que hemos visto hasta ahora para Windows.
Con todo y con ello en determinadas situaciones y para muchos usuarios avanzados es importante conocer estas variables o al menos poder echarles un vistazo de primera mano. Por tanto para poder ver el listado de las mismas en pantalla no tenemos más que abrir una ventana del Terminal y escribir el siguiente comando:
printenv
De este modo tendremos un listado de texto de salida dónde podemos ver las diferentes variables de entorno definidas en ese momento para el Shell de Linux. Como sucedía en el sistema operativo de Microsoft, aquí tendremos la posibilidad de modificarlas si así lo necesitamos. Pero también deberíamos tomar ciertas precauciones previas o saber muy bien lo que estamos haciendo para no perjudicar de manera negativa el funcionamiento general de Linux, usemos la distribución que usemos.
Este tipo de cambios y modificaciones está limitado a los usuarios avanzados y que tengan ciertos conocimientos previos acerca de estos sistemas operativos de código abierto.