2011-11-02 26 views

回答

4

您可以添加以下到$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 
} 

我不喜欢为每个类似的定义别名的方式m1m2等。相反,你会做m 1g 1

您还可以添加行

Register-EngineEvent PowerShell.Exiting –Action { mdump } | out-null 

,这样它会做mdump当您退出PowerShell会话。不幸的是,如果你关闭了控制台窗口,但是输入了exit,则不起作用。

PS:也看看CDPATH:CDPATH functionality in Powershell?

+0

完美的作品!谢谢! – tltjr

0

我用这一招:

IM我的$的个人资料我写的功能是这样的:

function win { Set-Location c:\windows} 

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

等等...