[CmdletBinding()]param([string]$Path) function Get-FullPath { param([string]$Path) if([System.IO.Path]::IsPathRooted($Path)){ [System.IO.Path]::GetFullPath($Path) }else{ [System.IO.Path]::GetFullPath((Join-Path $PWD $Path)) } } if( $Path[0] -eq '@' ) { $Path = Join-Path $MyPSScriptRoot $Path.Substring(1) } if([System.IO.Path]::IsPathRooted($Path)){ [System.IO.Path]::GetFullPath($Path) }else{ [System.IO.Path]::GetFullPath((Join-Path $PWD $Path)) } # try { # get-item $Path -Force -ErrorAction Stop | # Select-Object -ExpandProperty FullName # } catch { # $_.targetObject # }