martes, 29 de julio de 2008

El PATH en Powershell

Una de las cosas que quería hacer cuando tuviera listo mi blog es el poner un resumen de las cosas interesantes que aprendí ultimente, sobre todo aquellas que me llevaron tiempo o que de las que me costo darme cuenta.
Hoy comienzo con esto con dos pequeños truquitos que aprendí hoy.


El PATH en powershell

Quizás porque nunca me puse formalmente a leer sobre powershell, quizás porque no me había molestado lo suficiente, o por lo que fuera, nunca me había enterado de como hacer para que mis scripts puedan ser ejecutados como un comando más, es decir poder usar mi-script en lugar de usar . mi-script.ps1

Ayer me puse a ver como hacerlo y después de googlear un poco encontré la pista: El directorio del script tiene que ser parte del PATH, es decir que aún cuando estés parado en el directorio del script, este no se ejecutara por default si el directorio no forma parte del path. Loco NO ???

Muy bien, sabiendo eso, necesitaba averiguar dos cosas:
  1. como leer el path desde Powershell (Path y $path no funcionan), y
  2. como cambiarlo (para poder agregar mis directorios)


un poco mas de googleo revelo que para leer el path solo tengo que acceder a las variables del entorno:

$env:path


Simple, no ??? ... Y porque no se me ocurrió antes ????


Para agregar ítems al path es igual de simple:

$env:path = $env:path + ";E:\My Scripts\Powershell\"
Ahora si, aquel script que antes solo podía ejecutar como:
& "E:\My Scripts\Powershell\mi-script.ps1"
ahora puedo ejecutarlo usando
mi-script



y para ver si un directorio forma parte del path podemos usar simples funciones de texto:

($env:path -match 'My Scripts\\Powershell')

(Noten la doble barra para que la barra no sea considerada como un comando de REGEX)


Bueno, no precisamente de alto nivel, pero me llevo un rato poner estas piezas juntas, así que espero que esta note le ahorre algo de trabajo al próximo que este buscando hacer esto.

No hay comentarios.: