Private/Resolve-CompassPath.ps1
|
function Resolve-CompassPath { [CmdletBinding()] param( [Parameter(Mandatory)] [Object]$InputObject ) $literalPath = if ($InputObject -is [System.Management.Automation.PathInfo]) { $InputObject.ProviderPath } elseif ($InputObject -is [System.IO.FileSystemInfo]) { $InputObject.FullName } elseif ($null -ne $InputObject.FullName) { $InputObject.FullName } else { [string]$InputObject } try { $resolved = (Resolve-Path -LiteralPath $literalPath -ErrorAction Stop).ProviderPath Write-Verbose "Resolved clipboard item '$literalPath' -> '$resolved'" return $resolved } catch { Write-Warning "Skipping missing clipboard item: $literalPath" return $null } } |