¿Cómo obtener la ruta completa del directorio actual en PowerShell?
El cmdlet Get-Location en PowerShell obtiene la ruta completa del directorio actual similar a PowerShell pwd que imprime el directorio actual.
En este tutorial, analizaremos el uso de PowerShell para obtener la ruta completa del directorio actual y el directorio actual del archivo de script con ejemplos.
Proporcionaremos una guía detallada sobre cómo utilizar diferentes formas en PowerShell para obtener la ruta del directorio actual.
Ruta del directorio actual de PowerShell
PowerShell $pwd - Imprimir directorio actual
$pwdpwd (imprimir directorio de trabajo) en PowerShell obtiene la ruta actual del directorio de trabajo actual a la salida estándar.
PowerShell pwd es un alias del cmdlet Get-Location en PowerShell. La variable automática $pwd es un tipo de System.Management.Automation.PathInfo que tiene acceso a los miembros de PathInfo.
PowerShell Obtener directorio actual usando Get-Location
C:\Program Files>Get-Location
El cmdlet Get-Location en PowerShell obtiene el directorio actual, Archivos de programa de la unidad C del sistema operativo Windows. Imprime la ruta completa del directorio de trabajo actual.
Establezcamos diferentes rutas de directorio. Cmdlet Set-Location en PowerShell para configurar el directorio de trabajo como se muestra a continuación
Set-Location C:\Users\ShellAdminAhora ejecute el cmdlet Get-Location y vea los resultados.
Get-Locationahora devuelve el directorio de ejecución actual como C:\Users\ShellAdmin
Variable del directorio actual de PowerShell
En PowerShell, obtenga el directorio actual en una variable usando el siguiente comando
$curDir = Get-Location
Write-Host "Current Working Directory: $curDir"El comando Get-Location de PowerShell asigna el directorio actual a la variable $curDir. El cmdlet write-Host imprimirá la ruta de la carpeta actual en la terminal PowerShell.
Obtener la ruta del directorio principal en PowerShell
Consideremos que tiene una estructura de directorios como C:\Backup\01-Sept\
Si desea obtener el directorio de trabajo principal, puede obtener el directorio usando el siguiente comando
$curDir = Get-Location
Split-Path -Path $curDir -ParentEn el script de PowerShell anterior, obtenga la ruta completa del directorio actual C:\Backup\01-Sept\ y asígnela a la variable $curDir.
El segundo comando devuelve la ruta del directorio principal como C:\Backup usando el cmdlet Split-Path.
Consejo interesante: ¡Aprenda cómo obtener permisos en carpetas y subcarpetas en PowerShell!
Obtener ruta relativa del directorio actual de PowerShell
Continuaremos con nuestro ejemplo anterior donde tenemos la estructura de directorio actual de PowerShell como C:\Backup\01-Sept\sqlbackup.ps1
Para obtener la ruta relativa del archivo de script
$relativePath = Get-Item Backup\01-Sept\sqlbackup.ps1 | Resolve-Path -RelativeEl comando anterior obtiene la ruta relativa del directorio actual de PowerShell como .\01-Sept\sqlbackup.ps1
Consejo interesante: ¡Aprenda cómo obtener la ruta completa del directorio actual en PowerShell!
PowerShell obtiene el directorio actual usando System.Environment
Usando la propiedad [System.Environment]::CurrentDirectory para obtener el directorio actual de PowerShell.
PS D:\PowerShell> [System.Environment]::CurrentDirectory C:\Users\ShellAdmin
PS D:\PowerShell> En el script de PowerShell anterior, la propiedad System.Environment CurrentDirectory para obtener el directorio de trabajo actual. Tenga en cuenta que devuelve la ruta del directorio actual incluso si la ubicación de trabajo está configurada en D:\PowerShell
PowerShell Obtener el directorio actual del archivo de script
Para obtener el directorio actual del archivo de script o del script en ejecución, utilice la variable automática $PSScriptRoot. La variable PSScriptRoot contiene el script completo a una ruta que invoca el comando actual.
Entendamos cómo obtener el directorio actual del archivo script (ps1) usando el siguiente ejemplo:
Ejemplo, ubicación del script: D:\PowerShell\ConvertString-toDate.ps1
El archivo de script contiene la variable automática $PSScriptRoot y la invoca mientras se ejecuta.
# Convert datetime to yyyy-mmm-dd datetime format
'{0:yyyy-MMM-dd}' -f $convertDate
# Get Current Directory path of running script
Write-Host $PSScriptRootCuando ejecutamos el archivo de script anterior, la variable $PSScriptRoot obtiene la ruta del directorio actual del script en ejecución y la imprime.
El resultado del script anterior.
En la imagen de arriba, cuando ejecutamos el archivo de script ConvertString-toDate.ps1, imprime una cadena hasta la fecha y obtiene la ruta del directorio del script en PowerShell.
Conclusión
Espero que la publicación de blog anterior le ayude a comprender el uso de PowerShell para obtener la ruta completa del directorio actual de diferentes maneras.
El cmdlet Get-Location de PowerShell obtiene información sobre la ubicación de trabajo actual. Con el cmdlet pwd y Get-Location en PowerShell, puede obtener la ruta de la carpeta actual, obtener la ruta del directorio del script e imprimir el directorio actual.
El cmdlet Set-Location se utiliza en el artículo para configurar un directorio de trabajo.
Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.
