Каталог закладок в Powershell? - PullRequest
2 голосов
/ 02 ноября 2011

Один из моих любимых советов Bash включает создание псевдонимов для маркировки и возврата в каталоги, как описано здесь: http://www.huyng.com/archives/quick-bash-tip-directory-bookmarks/492/.

В Bash это выглядит так:

alias m1='alias g1="cd `pwd`"'

Можно ли создать подобную функцию в powershell?

Ответы [ 3 ]

4 голосов
/ 02 ноября 2011

Вы можете добавить следующее к $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?

1 голос
/ 21 июня 2017

Этот проект работает очень хорошо: http://www.powershellmagazine.com/2016/05/06/powershell-location-bookmark-for-easy-and-faster-navigation/

Установка:

Install-Module -Name PSBookmark

Использование:

#This will save $PWD as scripts
save scripts 

#This will save C:\Documents as docs
save docs C:\Documents

#You don't have to type the alias name.
#Instead, you can just tab complete. This function uses dynamic parameters.
goto docs
0 голосов
/ 02 ноября 2011

Я использую этот трюк:

im мой профиль $ Я написал такую ​​функцию:

 function win { Set-Location c:\windows}

 $ProfileDir = $PROFILE.Substring(0 , $PROFILE.LastIndexOf("\")+1)
 function pro { Set-Location $profiledir}

и так далее ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...