cmdlets/Add-PSBookmark.ps1
<# .Synopsis Add folder to bookmarks list. .Description Add folder to bookmarks list. .Parameter Name The bookmark name. .Parameter Path The Path to folder. .Example # Add bookmark with name. ./Add-PSBookmark [ ba ] BookmarkName (Opt)Directory .Example # Add bookmark from pipeline. $pwd | Add-PSBookmark -Name "ThisDirectory" #> function Add-PSBookmark () { Param ( [Parameter(Position = 0, Mandatory = $true)] [Alias("Bookmark")] $Name, [Parameter(Position = 1, ValueFromPipeline = $True)] [Alias("Path")] [string]$dir = $null ) if ( [string]::IsNullOrWhitespace($dir) ) { $dir = (Get-Location).Path } $_marks = Import-PSBookmarks if( $_marks.ContainsKey("$Name") ){ throw "Folder bookmark ''$Name'' already exist" } $_marks["$Name"] = $dir Save-PSBookmarks $_marks Write-Output ("Location '{1}' saved to bookmark '{0}'" -f $Name, $dir) } |