about_Locations
Descripción breve
Describe cómo acceder a los elementos desde la ubicación de trabajo en PowerShell.
Descripción larga
La ubicación de trabajo actual es la ubicación predeterminada a la que apuntan los comandos. En otras palabras, esta es la ubicación que Usa PowerShell si no proporciona una ruta de acceso explícita al elemento o ubicación afectado por el comando.
Nota:
PowerShell admite varios espacios de ejecución por proceso. Cada espacio de ejecución tiene su propio directorio actual. Esto no es lo mismo que el directorio actual del proceso de PowerShell: [System.Environment]::CurrentDirectory
.
Por ejemplo, puede establecer la ubicación de trabajo actual en la siguiente ubicación:
Set-Location C:\Program Files\PowerShell
Como resultado, todos los comandos se procesan desde esta ubicación a menos que se proporcione explícitamente otra ruta de acceso.
PowerShell mantiene la ubicación de trabajo actual de cada unidad incluso cuando la unidad no es la unidad actual. Esto le permite acceder a los elementos desde la ubicación de trabajo actual haciendo referencia solo a la unidad de otra ubicación.
Por ejemplo, supongamos que la ubicación de trabajo actual es C:\Windows
. Ahora, supongamos que usa el siguiente comando para cambiar la ubicación de trabajo actual a la HKLM:
unidad:
Set-Location HKLM:
Aunque la ubicación actual es ahora la unidad del Registro, todavía puede acceder a los elementos del C:\Windows
directorio mediante la C:
unidad, como se muestra en el ejemplo siguiente:
Get-ChildItem C:
PowerShell recuerda que la ubicación de trabajo actual de esa unidad es el Windows
directorio, por lo que recupera elementos de ese directorio. Los resultados serían los mismos si ejecutó el siguiente comando:
Get-ChildItem C:\Windows
En PowerShell, puede usar el Get-Location
comando para determinar la ubicación de trabajo actual y puede usar el comando para establecer la Set-Location
ubicación de trabajo actual. Por ejemplo, el siguiente comando establece la ubicación de trabajo actual en el Windows
directorio de la C:
unidad:
Set-Location C:\Windows
Después de establecer la ubicación de trabajo actual, puede seguir teniendo acceso a los elementos de otras unidades incluyendo el nombre de la unidad (seguido de dos puntos) en el comando, como se muestra en el ejemplo siguiente:
Get-ChildItem HKLM:\software
El comando de ejemplo recupera una lista de elementos del contenedor software del HKEY_LOCAL_MACHINE
subárbol en el Registro.
PowerShell también permite usar caracteres especiales para representar la ubicación de trabajo actual y su ubicación primaria. Para representar la ubicación de trabajo actual, use un único período. Para representar el elemento primario de la ubicación de trabajo actual, use dos puntos. Por ejemplo, a continuación se especifica el System
subdirectorio en la ubicación de trabajo actual:
Get-ChildItem .\System
Si la ubicación de trabajo actual es C:\Windows
, este comando devuelve una lista de todos los elementos de C:\Windows\System
. Sin embargo, si usa dos puntos, se usa el directorio primario del directorio de trabajo actual, como se muestra en el ejemplo siguiente:
Get-ChildItem ..\"Program Files"
En este caso, PowerShell trata los dos puntos como la unidad C: , por lo que el comando recupera todos los elementos del C:\Program Files
directorio.
Una ruta de acceso que comienza con una barra diagonal inversa (\
) identifica una ruta de acceso desde la raíz de la unidad actual. Por ejemplo, si la ubicación de trabajo actual es C:\Program Files\PowerShell
, la raíz de la unidad es C:\
. Por lo tanto, el siguiente comando enumera todos los elementos del C:\Windows
directorio:
Get-ChildItem \Windows
Si no especifica una ruta de acceso a partir de un nombre de unidad, barra diagonal inversa () o punto (\
.
) al proporcionar el nombre de un contenedor o elemento, se supone que el contenedor o el elemento se encuentran en la ubicación de trabajo actual. Por ejemplo, si la ubicación de trabajo actual es C:\Windows
, el siguiente comando devuelve todos los elementos del C:\Windows\System
directorio:
Get-ChildItem System
Si especifica un nombre de archivo en lugar de un nombre de directorio, PowerShell devuelve detalles sobre ese archivo (suponiendo que el archivo se encuentra en la ubicación de trabajo actual).