How to get the current directory of the cmdlet being executed

后端 未结 17 2249
滥情空心
滥情空心 2020-11-29 17:03

This should be a simple task, but I have seen several attempts on how to get the path to the directory where the executed cmdlet is located with mixed success. For instance,

17条回答
  •  死守一世寂寞
    2020-11-29 17:56

    To expand on @Cradle 's answer: you could also write a multi-purpose function that will get you the same result per the OP's question:

    Function Get-AbsolutePath {
    
        [CmdletBinding()]
        Param(
            [parameter(
                Mandatory=$false,
                ValueFromPipeline=$true
            )]
            [String]$relativePath=".\"
        )
    
        if (Test-Path -Path $relativePath) {
            return (Get-Item -Path $relativePath).FullName -replace "\\$", ""
        } else {
            Write-Error -Message "'$relativePath' is not a valid path" -ErrorId 1 -ErrorAction Stop
        }
    
    }
    

提交回复
热议问题