En Windows, cambiar de directorio es una parte fundamental de la gestión de archivos, pero ¿te conformarías con escribir rutas completas de cada directorio que visitas? Afortunadamente, los comandos de cambio de directorio de PowerShell pueden facilitarte la vida.
En este tutorial, explorarás los comandos disponibles para cambiar de directorio en PowerShell, lo que te ayudará a navegar por tu sistema de archivos sin esfuerzo.
Sigue leyendo y domina los conceptos básicos de la navegación en el sistema de archivos con PowerShell ¡hoy mismo!
Requisitos previos
Este tutorial será una demostración práctica. Para seguir, asegúrate de tener un sistema Windows con PowerShell instalado. Este tutorial utiliza Windows 10 y PowerShell v7.
Cambiando de un Disco a Otro
Cada dispositivo de almacenamiento, como un disco duro o una unidad USB, se le asigna una letra de unidad (es decir, C:, D:, E:, …Z:). Cuando abres una ventana de PowerShell, el indicador está en el directorio de tu perfil de usuario en la unidad actual de forma predeterminada.
Supongamos que necesitas acceder con frecuencia a archivos o carpetas almacenados en una unidad diferente a la que estás actualmente. En ese caso, es necesario cambiar de una unidad a otra.
Para ver cómo cambiar de una unidad a otra:
1. Abre PowerShell y confirma si el indicador muestra C:\Users\admin. Si es así, entonces actualmente te encuentras en la unidad C: en el directorio del perfil del usuario admin, como se muestra a continuación.

2. A continuación, abre otra sesión de PowerShell, pero esta vez como administrador.
En este caso, el indicador comienza en un directorio predeterminado diferente al iniciar PowerShell como usuario regular. Específicamente, el indicador comienza en el directorio System32 dentro del directorio Windows en la unidad actual (C:), como se muestra a continuación.
Este comportamiento predeterminado evita que los usuarios no administrativos modifiquen accidentalmente archivos críticos del sistema o ejecuten herramientas sensibles.

3. Ejecuta el siguiente comando para cambiar la unidad actual a D:
(o a cualquier otra unidad disponible). Esta sintaxis es una forma rápida de navegar entre diferentes unidades en PowerShell.
Al cambiar de unidades en PowerShell con este método, el indicador cambia al directorio raíz de la nueva unidad, como se muestra en la salida a continuación.
Como puedes ver, independientemente del directorio predeterminado en el que comience PowerShell, siempre puedes cambiar a otra unidad.

4. Ahora, ejecuta el siguiente comando para intentar cambiar al directorio D:\Kitty
(o a cualquier otro subdirectorio).
¿Obtuviste el mismo error que se muestra a continuación? Este error aparece porque no puedes cambiar a subdirectorios (por ejemplo, D:\Kitty) de una vez con este método.
Salta a la siguiente sección para ver cómo cambiar a subdirectorios.

Navegando por el sistema de archivos mediante el comando cd
Navegar por múltiples subdirectorios es una tarea común en PowerShell. ¿Pero hay una forma rápida de navegar entre diferentes subdirectorios? ¡Sí! El comando cd
, abreviatura de “cambiar directorio”, te permite cambiar rápidamente a otro subdirectorio independientemente de tu directorio actual.
Antiguamente, el comando
cd
se utilizaba para navegar entre unidades y directorios en el Símbolo del sistema. Microsoft hizo que el comandocd
fuera compatible hacia atrás para que aún puedas navegar entre directorios en PowerShell.
Sigue leyendo y ve cómo navegar por tu sistema de archivos con el comando cd
.
Movimiento a un directorio en una unidad diferente
Ir a un subdirectorio dentro de una unidad diferente puede parecer una molestia si lo piensas. Bueno, no hay necesidad de darle muchas vueltas. Te sorprenderá lo rápido que te permite el comando cd
saltar a otra unidad mientras te mueves a uno de sus directorios.
Ejecuta el siguiente comando para navegar al subdirectorio llamado Kitty
en la unidad D:*
.

Movimiento de uno a muchos niveles arriba en la jerarquía de directorios
Con la gestión del sistema de archivos, o al trabajar en un proyecto, es posible que necesites moverte frecuentemente uno o dos niveles hacia arriba desde tu directorio actual. El comando cd admite la notación ..
, que te permite cambiar eficazmente al directorio principal de tu directorio actual.
Esta función te permite subir un nivel en tu sistema de archivos sin especificar la ruta completa al directorio principal.
1. Ejecuta el comando cd
a continuación, agrega un espacio y la notación ..
, lo que indica a PowerShell que suba un nivel en la jerarquía de directorios.
El carácter de espacio después del comando
cd
no es necesario, ya que el comando funcionará correctamente sin él. Pero agregar un espacio es una práctica común para mejorar la legibilidad y la consistencia con otros comandos.
En la salida a continuación, puedes ver que el indicador se mueve un nivel hacia arriba desde el C:\Users\admin\Documents hasta el directorio C:\Users\admin. Ten en cuenta que no tuviste que especificar la ruta completa para el directorio C:\Users\admin para subir.

2. En lugar de subir un nivel, ejecuta el siguiente comando con dos notaciones ..
, agregando una barra diagonal invertida (\
) al final de cada uno. Al hacerlo, puedes subir dos niveles en la jerarquía de directorios.
A continuación, la salida muestra que has pasado del C:\Users\admin\Documents directamente al directorio C:\Users.

3. Por último, ejecuta el siguiente comando para ir al directorio raíz de tu unidad actual.
Si te has perdido en tu sistema de archivos, este comando resulta útil ya que puedes saltar rápidamente al directorio raíz. Este comando te ahorra la molestia de ejecutar el comando cd ..
varias veces.

Movimiento a un Subdirectorio Específico
Al igual que moverse a un nivel superior en la jerarquía de directorios, moverse a un subdirectorio específico también es una tarea rápida. Dado que puede haber muchos subdirectorios, añadir notaciones como las anteriores (..
y ..\
) no funcionará, debes especificar el nombre del subdirectorio.
Ejecuta el siguiente comando para moverte a uno de los subdirectorios (\admin
) en tu directorio actual (.
).
Observa que has ahorrado tiempo y esfuerzo ya que no tuviste que especificar la ruta completa del directorio C:\Users\admin.

Navegando por el Sistema de Archivos con Cmdlets de PowerShell
Aunque el comando cd
funciona sin duda en PowerShell, Microsoft ha introducido muchos cmdlets, como Set-Location
, que te permiten navegar por tu sistema de archivos.
Estos cmdlets ofrecen una funcionalidad más robusta que el comando cd
que puedes usar para cambiar entre unidades, navegar por ubicaciones apiladas y recorrer directorios en el historial de ubicaciones.
Mantente atento y observa lo poderosos que son los cmdlets de PowerShell para navegar por tu sistema de archivos.
Estableciendo una Ubicación desde una Unidad Diferente
Como el comando cd
, el cmdlet Set-Location
te permite cambiar de un directorio a otro y navegar directamente a uno de sus directorios. Pero dado que estás usando un cmdlet de PowerShell, debes agregar el parámetro -Path
para establecer la ruta de tu ubicación objetivo.
El cmdlet Set-Location
establece el directorio de trabajo actual en una ubicación especificada. Esa ubicación especificada puede ser una de las siguientes:
- A directory, or subdirectory on the local file system.
- Cualquier otra ubicación compatible con un proveedor en PowerShell.
- O una ubicación de registro.
Para ver cómo funciona el cmdlet Set-Location
para navegar por tu sistema de archivos:
Ejecuta el siguiente comando para navegar al directorio Kitty
en tu unidad D:
especificada en el parámetro -Path
.

Si te sientes un poco perezoso para escribir el cmdlet completo
Set-Location
, también puedes usar uno de sus aliases, comochdir
ysl
, para navegar por tu sistema de archivos. Los aliases proporcionan una forma más conveniente de acceder a comandos que se utilizan con frecuencia.
Ahora, ejecuta el siguiente comando para establecer la ubicación de trabajo en una ubicación de registro específica. En este caso, la ruta HKLM:\
(un atajo) se refiere a la colmena HKEY_LOCAL_MACHINE en tu Registro de Windows.
Este comando establece la ubicación de trabajo en la raíz de la clave HKEY_LOCAL_MACHINE en el registro. Navegar a un registro te permite acceder y modificar sus subclaves y valores mediante otros comandos de PowerShell.

Cambiar entre ubicaciones apiladas (Push y Pop)
Acceder rápidamente a ubicaciones apiladas suena conveniente. ¿Pero es posible? ¡Sí! Los cmdlets Push-Location
y Pop-Location
te permiten empujar y sacar ubicaciones en una pila de último en entrar, primero en salir (LIFO) desde una pila nombrada.
Para navegar por ubicaciones apiladas, sigue estos pasos:
1. Ejecuta el siguiente comando Push-Location
para empujar tu ubicación actual a una pila llamada Paths
y establecer el directorio C:\Program Files\PowerShell\
como el directorio actual.

2. Luego, ejecuta el siguiente comando para empujar tu ubicación actual (C:\Program Files\PowerShell\) a la parte superior de la misma pila Paths
.

3. Ejecuta cada comando a continuación para establecer Paths
como la pila predeterminada y ver (Get-Location
) las ubicaciones apiladas.
A continuación, puedes ver que actualmente tienes dos ubicaciones apiladas, donde la última ubicación que agregaste está en la parte superior.

4. Ahora, ejecuta el siguiente comando Pop-Location
dos veces para sacar la ubicación superior apilada de la pila predeterminada, que actualmente es la pila de Rutas.

Ten en cuenta que sacar la ubicación de la pila elimina la ubicación de la pila. El error a continuación indica que has sacado todas las ubicaciones apiladas de la pila predeterminada.

Navegación a un Directorio Almacenado en una Variable
Has explorado diferentes formas de navegar por directorios en tu sistema de archivos. Pero, ¿qué pasa si necesitas navegar a una ubicación específica con frecuencia? Escribir rutas completas varias veces o recorrer el historial de ubicaciones puede ser tedioso. ¿Por qué no almacenar en lugar de eso la ruta completa de un directorio en una variable?
Con una variable declarada, puedes navegar a tu directorio objetivo sin especificar la ruta de memoria.
1. Ejecuta los comandos siguientes para almacenar el directorio C:\Program Files\PowerShell\
en la variable $psh
y establecer esa ubicación ($psh
) como el directorio actual.
La salida a continuación confirma el cambio de directorio exitoso usando una variable. Independientemente de tu directorio actual, puedes navegar rápidamente al directorio C:\Program Files\PowerShell\ a través de la variable $psh
.
Pero ten en cuenta que este método solo funciona para la sesión actual de PowerShell a menos que persistas la variable, como se demuestra en el siguiente paso.

2. A continuación, ejecuta los siguientes comandos, los cuales no proporcionan salida, pero persisten la variable ev_psh
como una variable de entorno (SetEnvironmentVariable
) con el valor de la ruta completa del directorio.
3. Por último, ejecuta el siguiente comando para establecer el valor de la variable de entorno ev_psh
como el directorio actual. Asegúrate de estar en un directorio diferente al de tu variable ev_psh
.

Ciclado a Través del Historial de Ubicaciones de PowerShell
Otra forma rápida de navegar por directorios en PowerShell es usando el historial de ubicaciones. El parámetro -Path
le indica al cmdlet Set-Location
que navegue a otro directorio desde el historial de ubicaciones (anterior y siguiente), dependiendo del valor especificado (-
o +
).
Ejecuta los siguientes comandos para establecer ubicaciones desde el historial como el directorio actual. El carácter +
te lleva hacia adelante en el historial de ubicaciones, mientras que el carácter -
te lleva hacia atrás.

Conclusión
La navegación del sistema de archivos puede ser complicada cuando tus opciones son limitadas. Pero con los comandos de cambio de directorio de PowerShell, como Set-Location
, tienes muchas opciones. Cómo deseas navegar por tu sistema de archivos de manera más eficiente depende enteramente de ti.
Además, dominar el uso de Push-Location
y Pop-Location
para guardar y recuperar ubicaciones recientes es una habilidad valiosa.
Estas técnicas te permiten moverte rápidamente y sin problemas a través de directorios y ubicaciones en PowerShell. Pero para mejorar aún más, ¿por qué no considerar aprender sobre comandos adicionales, como Get-ChildItem
, que pueden ahorrarte mucho tiempo en tus tareas diarias?
Source:
https://adamtheautomator.com/powershell-change-directory/