function/tool/Get-Path.ps1
Function Get-Path { <# .SYNOPSIS GUI to choose path .DESCRIPTION This function opens a window to choose a specific path .PARAMETER RootFolder Folder in which the window will open .PARAMETER Description Window title .INPUTS You can pipe the value of the parameter (path) to this function / None .OUTPUTS System.Object[] / None .EXAMPLE Get-Path .LINK https://github.com/gisp497/psgisp #> [CmdletBinding()] param ( [Parameter( Mandatory = $false, ValueFromPipeline = $true, HelpMessage = "help message" )] [string]$RootFolder = [Environment]::GetFolderPath('Desktop'), [Parameter( Mandatory = $false, ValueFromPipeline = $true, HelpMessage = "help message" )] [string]$Description = 'Select Folder or File' ) Begin { #load assembly [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null } Process { #create object $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog #set root folder $OpenFileDialog.initialDirectory = $RootFolder #remove filter $OpenFileDialog.filter = "All files (*.*)| *.*" #set windows title $OpenFileDialog.Title = $Description #show window $OpenFileDialog.ShowDialog() | Out-Null } End { #output value return $OpenFileDialog.filename } } |