Private/Get-ValidPath.ps1
Function Get-ValidPath { <# .SYNOPSIS Test a file system path and return correct path string. .NOTES Author: Aaron Parker Twitter: @stealthpuppy .PARAMETER Path A directory path that the function will validate and return. #> [CmdletBinding()] [OutputType([System.String])] Param ( [Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] [System.String] $Path ) # Resolve the path, trim any trailing backslash and return the string try { $resolvedPath = Resolve-Path -Path $Path -ErrorAction SilentlyContinue } catch [System.Exception] { Write-Warning -Message "$($MyInvocation.MyCommand): Failed to resolve: [$Path]." Throw $_.Exception.Message } finally { If ($resolvedPath) { Write-Output -InputObject ($resolvedPath.Path.TrimEnd("\")) } } } |