Cómo imprimir variables de entorno en Windows PowerShell

  1. ¿Qué es una variable de entorno?
  2. Usando la variable de entorno de PowerShell
  3. Imprimiendo todas las variables de entorno utilizando el comando Get-ChildItem
  4. Conclusión
Cómo imprimir variables de entorno en Windows PowerShell

En esta exploración detallada, profundizamos en el intrincado mundo de las variables de entorno dentro de Windows PowerShell, una herramienta poderosa en el arsenal de cualquier desarrollador o administrador de sistemas. Las variables de entorno son más que solo configuraciones; son la columna vertebral de cómo nuestro sistema operativo y las aplicaciones se comunican y operan de manera eficiente.

Entender y manipular estas variables puede impactar significativamente el comportamiento de nuestro sistema y nuestra competencia en la línea de comandos.

A lo largo de este artículo, no solo presentaremos el concepto de variables de entorno en PowerShell, sino que también demostraremos formas prácticas de interactuar con ellas. Desde recuperar variables específicas hasta exportar una lista completa, nuestro viaje nos equipará con las habilidades para gestionar y utilizar de manera efectiva estos componentes críticos del sistema.

¿Qué es una variable de entorno?

Las variables de entorno en Windows PowerShell representadas como Env: juegan un papel clave en el almacenamiento de información que afecta cómo funcionan varios programas y el propio sistema operativo. Estas variables abarcan una amplia gama de datos, como la ruta del sistema operativo, la ubicación del directorio de instalación de Windows y el número de procesos actualmente utilizados por el sistema operativo, entre otros.

Exploramos cómo podemos interactuar con estas variables de entorno en PowerShell.

Usando la variable de entorno de PowerShell

Para recuperar una variable de entorno específica en PowerShell, utilizamos la variable $Env: seguida del nombre de la variable que deseamos acceder.

Consideremos la variable de entorno PATH, una variable de entorno del sistema esencial que permite al sistema operativo localizar archivos ejecutables desde la interfaz de línea de comandos. Para ver la configuración actual de PATH, usamos el siguiente comando.

Código de ejemplo:

$env:PATH

Inicialmente utilizamos $env:PATH para acceder directamente a la variable de entorno PATH. Esta variable es crucial para determinar dónde busca el sistema operativo archivos ejecutables.

Cuando ejecutamos $env:PATH, recibimos una salida que lista directorios como C:\Windows\system32 y otros, que indican dónde busca el sistema archivos ejecutables.

Salida:

imprimir variables de entorno en powershell - salida 1

Imprimiendo todas las variables de entorno utilizando el comando Get-ChildItem

Para una visión completa de todas las variables de entorno, empleamos el cmdlet Get-ChildItem. Este comando lista todas las variables de entorno disponibles en su sesión de PowerShell.

Get-ChildItem Env:

En nuestra utilización del comando Get-ChildItem Env: en Windows PowerShell, listamos efectivamente todas las variables de entorno presentes en la sesión actual. Este comando es similar a tomar un inventario de las configuraciones y ajustes que utilizan el sistema operativo y las aplicaciones.

Al ejecutar Get-ChildItem Env:, se nos presenta una lista completa, incluyendo el nombre y valor de cada variable.

Salida:

imprimir variables de entorno en powershell - salida 2

Imprimiendo variables de entorno con piping

La flexibilidad de PowerShell nos permite combinar Get-ChildItem con otros comandos mediante piping. Por ejemplo, para exportar una lista de todas las variables de entorno a un archivo CSV, podemos ejecutar:

Get-ChildItem Env: | select Name | Export-Csv -Path \env_variables.txt -NoTypeInformation

Primero, empleamos Get-ChildItem Env: para recuperar todas las variables de entorno, tal como listaríamos archivos en un directorio. Al canalizar (|) esta salida a select Name, nos enfocamos únicamente en los nombres de estas variables, omitiendo sus valores para una visión más limpia y concisa.

Finalmente, canalizamos esta lista refinada a Export-Csv para crear un archivo CSV en C:\path\env_variables.txt, eligiendo excluir la información de tipo con -NoTypeInformation.

Salida:

imprimir variables de entorno en powershell - salida 3

Imprimiendo variables de entorno específicas

También podemos imprimir una variable de entorno específica usando el comando nativo Get-ChildItem. Pruebe ejecutar el comando de ejemplo a continuación para imprimir la ruta del archivo HOME.

Get-ChildItem Env:HOME

Usamos el comando Get-ChildItem Env:HOME para apuntar específicamente y recuperar información sobre la variable de entorno HOME. Este comando es similar a hacer zoom en un aspecto particular del entorno de nuestro sistema, permitiéndonos entender dónde se establece el directorio HOME.

Al ejecutar este comando, recibimos información detallada sobre la variable HOME, que típicamente incluye su nombre, valor y, a veces, detalles adicionales dependiendo de la configuración del sistema.

Salida:

imprimir variables de entorno en powershell - salida 4

Imprimiendo variables de entorno usando alias

PowerShell proporciona varios alias para cmdlets de uso común para agilizar el proceso de ejecución de comandos.

Estos pueden ser particularmente útiles para usuarios que están en transición desde otros entornos de línea de comandos o para simplificar la sintaxis de los comandos.

Código de ejemplo:

Get-Alias -Definition Get-ChildItem

Este comando revela todos los alias asociados con Get-ChildItem, que es un cmdlet versátil utilizado para listar elementos en un directorio, incluidas las variables de entorno. Al ejecutar esto, adquirimos conocimiento sobre nombres de comandos más intuitivos o familiares, como dir, ls y gci, que podemos usar de manera intercambiable con Get-ChildItem.

Salida:

imprimir variables de entorno en powershell - salida 5

Por esta razón, podemos usar los comandos dir, gci y ls en lugar del cmdlet nativo Get-ChildItem.

Código de ejemplo:

dir env:
gci env: | select name
ls env:USERSPROFILE | Export-Csv -Path env_variables.txt -NoTypeInformation

Empleamos tres comandos distintos pero relacionados: dir env:, gci env: | select name, y ls env:ALLUSERSPROFILE | Export-Csv -Path C:\path\env_variables.txt -NoTypeInformation.

Con dir env:, estamos listando esencialmente todas las variables de entorno, aprovechando dir como un alias para Get-ChildItem. Esto nos ofrece una vista rápida y completa de los ajustes del entorno.

Pasando a gci env: | select name, refinamos nuestro enfoque al no solo listar las variables de entorno usando gci (otro alias de Get-ChildItem), sino también canalizando la salida a select name para extraer solo los nombres de estas variables, proporcionando una salida más limpia y enfocada.

Finalmente, ls env:ALLUSERSPROFILE | Export-Csv -Path C:\path\env_variables.txt -NoTypeInformation lleva esto un paso más allá. Aquí, utilizamos ls (otro alias más) para apuntar a una variable específica (ALLUSERSPROFILE), y luego exportamos sus detalles a un archivo CSV, eligiendo una ruta específica y excluyendo información de tipo por simplicidad.

Salida:

imprimir variables de entorno en powershell - salida 6

Conclusión

Al concluir nuestro viaje a través de la manipulación y gestión de variables de entorno en Windows PowerShell, es evidente que estas variables son más que simples configuraciones; son componentes fundamentales que orquestan el funcionamiento fluido de nuestros sistemas. Nuestra exploración nos ha dotado de valiosos conocimientos y habilidades prácticas, desde recuperar variables de entorno específicas hasta emplear alias para una ejecución de comandos más ágil.

La capacidad de no solo entender, sino también manipular estas variables es una habilidad indispensable en el ámbito de la administración de sistemas y el desarrollo de software. Hemos visto de primera mano cómo la versatilidad de PowerShell permite un indagación detallada y personalización de nuestro entorno informático.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell Environment Variables