- 06/05/2017
- 4 minutos para leer
-
- j
- s
- m
Cuando se navega por sistemas de carpetas en el Explorador de archivos, normalmente se tiene una ubicación de trabajo específica, es decir, la carpeta abierta actual. Los elementos de la carpeta actual se pueden manipular fácilmente haciendo clic en ellos. En el caso de las interfaces de línea de comandos, como Cmd.exe, cuando se está en la misma carpeta que un archivo concreto, se puede acceder a él especificando un nombre relativamente corto, en lugar de tener que especificar toda la ruta del archivo. El directorio actual se denomina directorio de trabajo.
Windows PowerShell utiliza el sustantivo Location para referirse al directorio de trabajo, e implementa una familia de cmdlets para examinar y manipular su ubicación.
Obtención de su ubicación actual (Get-Location)
Para determinar la ruta de su ubicación de directorio actual, introduzca el comando Get-Location:
PS> Get-LocationPath----C:\Documents and Settings\PowerUser
Nota
El cmdlet Get-Location es similar al comando pwd en el shell BASH. El cmdlet Set-Location es similar al comando cd en Cmd.exe.
Setting Your Current Location (Set-Location)
El comando Get-Location se utiliza con el comando Set-Location. El comando Set-Location le permite especificar su ubicación de directorio actual.
Set-Location -Path C:\Windows
Después de introducir el comando, notará que no recibe ninguna respuesta directa sobre el efecto del comando. La mayoría de los comandos de Windows PowerShell que realizan una acción producen poca o ninguna salida porque la salida no siempre es útil. Para verificar que se ha producido un cambio de directorio con éxito cuando introduzca el comando Set-Location, incluya el parámetro -PassThru cuando introduzca el comando Set-Location:
PS> Set-Location -Path C:\Windows -PassThruPath----C:\WINDOWS
El parámetro -PassThru se puede utilizar con muchos comandos Set en Windows PowerShell para devolver información sobre el resultado en los casos en los que no hay salida por defecto.
Puede especificar rutas relativas a su ubicación actual de la misma manera que lo haría en la mayoría de los shells de comandos de UNIX y Windows. En la notación estándar para rutas relativas, un punto (.)representa su carpeta actual, y un punto doble (..) representa el directorio padre de su ubicación actual.
Por ejemplo, si está en la carpeta C:\Windows, un punto (.)representa C:\Windows y los puntos dobles (..) representan C:. Puede cambiar de su ubicación actual a la raíz de la unidad C: escribiendo:
PS> Set-Location -Path .. -PassThruPath----C:\
La misma técnica funciona en las unidades de Windows PowerShell que no son unidades del sistema de archivos, como HKLM:. Puede establecer su ubicación en la clave HKLM\Software en el registro escribiendo:
PS> Set-Location -Path HKLM:\SOFTWARE -PassThruPath----HKLM:\SOFTWARE
A continuación, puede cambiar la ubicación del directorio al directorio principal, que es la raíz de la unidad HKLM: de Windows PowerShell, utilizando una ruta relativa:
PS> Set-Location -Path .. -PassThruPath----HKLM:\
Puede escribir Set-Location o utilizar cualquiera de los alias incorporados de Windows PowerShell para Set-Location (cd, chdir, sl). Por ejemplo:
cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru
Guardar y recuperar ubicaciones recientes (Push-Location y Pop-Location)
Cuando se cambia de ubicación, es útil llevar un registro de dónde se ha estado y poder volver a la ubicación anterior. El cmdlet Push-Location de Windows PowerShell crea un historial ordenado (una «pila») de rutas de directorio en las que se ha estado, y se puede retroceder en el historial de rutas de directorio utilizando el cmdlet complementario Pop-Location.
Por ejemplo, Windows PowerShell suele iniciarse en el directorio raíz del usuario.
PS> Get-LocationPath----C:\Documents and Settings\PowerUser
Nota
La palabra pila tiene un significado especial en muchos entornos de programación, incluido .NET Framework. Al igual que una pila física de elementos, el último elemento que se pone en la pila es el primer elemento que se puede sacar de la pila. Añadir un elemento a una pila se conoce coloquialmente como «empujar» el elemento a la pila. Sacar un elemento de la pila se conoce coloquialmente como «sacar» el elemento de la pila.
Para empujar la ubicación actual a la pila, y luego moverse a la carpeta de Configuración Local, escriba:
Push-Location -Path "Local Settings"
Puede entonces empujar la ubicación de Configuración Local a la pila y moverse a la carpeta Temp escribiendo:
Push-Location -Path Temp
Puede verificar que ha cambiado los directorios introduciendo el comando Get-Location:
PS> Get-LocationPath----C:\Documents and Settings\PowerUser\Local Settings\Temp
A continuación, puede volver al directorio visitado más recientemente introduciendo el comando Pop-Location, y verificar el cambio introduciendo el comando Get-Location:
PS> Pop-LocationPS> Get-LocationPath----C:\Documents and Settings\me\Local Settings
Al igual que con el cmdlet Set-Location, puede incluir el parámetro -PassThru cuando introduzca el cmdlet Pop-Location para mostrar el directorio que introdujo:
PS> Pop-Location -PassThruPath----C:\Documents and Settings\PowerUser
También puede utilizar los cmdlets Location con rutas de red. Si tiene un servidor llamado FS01 con un recurso compartido llamado Public, puede cambiar su ubicación escribiendo
Set-Location \FS01\Public
o
Push-Location \FS01\Public
Puede utilizar los comandos Push-Location y Set-Location para cambiar la ubicación a cualquier unidad disponible. Por ejemplo, si tiene una unidad de CD-ROM local con la letra de unidad D que contiene un CD de datos, puede cambiar la ubicación a la unidad de CD introduciendo el comando Set-Location D:.
Si la unidad está vacía, obtendrá el siguiente mensaje de error:
PS> Set-Location D:Set-Location : Cannot find path 'D:\' because it does not exist.
Cuando se utiliza una interfaz de línea de comandos, no es conveniente utilizar el Explorador de archivos para examinar las unidades físicas disponibles. Además, el Explorador de archivos no le mostrará todas las unidades de Windows PowerShell. Windows PowerShell proporciona un conjunto de comandos para manipular las unidades de Windows PowerShell, y vamos a hablar de ellos a continuación.