Вы можете добавить следующее к $profile
:
$marks = @{};
$marksPath = Join-Path (split-path -parent $profile) .bookmarks
if(test-path $marksPath){
import-csv $marksPath | %{$marks[$_.key]=$_.value}
}
function m($number){
$marks["$number"] = (pwd).path
}
function g($number){
cd $marks["$number"]
}
function mdump{
$marks.getenumerator() | export-csv $marksPath -notype
}
function lma{
$marks
}
Мне не понравился способ определения псевдонима для каждого типа m1
, m2
и так далее.Вместо этого вы будете делать m 1
и g 1
и т. Д.
Вы также можете добавить строку
Register-EngineEvent PowerShell.Exiting –Action { mdump } | out-null
, чтобы она выполняла mdump
при выходе из сеанса Powershell.К сожалению, не работает, если вы закрываете окно консоли, но когда вы набираете exit.
PS: Также обратите внимание на CDPATH: Функциональность CDPATH в Powershell?