Powershell 中的目录书签?

问题描述 投票:0回答:5

我最喜欢的 Bash 技巧之一涉及创建用于标记和返回目录的别名,如下所述:http://www.huyng.com/archives/quick-bash-tip-directory-bookmarks/492/

在 Bash 中,它看起来像这样:

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

是否可以在powershell中创建类似的功能?

powershell
5个回答
8
投票

这个项目效果很好: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

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
}

我不喜欢为每个定义别名的方式,例如

m1
m2
等。相反,你会做
m 1
g 1
等等。

您还可以添加行

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

这样当您退出 Powershell 会话时它就会执行

mdump
操作。不幸的是,如果您关闭控制台窗口,但当您键入 exit 时,则不起作用。

PS:另请查看 CDPATH:Powershell 中的 CDPATH 功能?


4
投票

很久以前,我创建了一些具有此类功能的模块。现在我认为添加指向 Powershell galleryGitHub 项目 的链接非常稳定:)

安装模块功能:

Install-Module -Name Bookmarks

基本用法:

$pwd |  ba -Name "BookmarkName" #add
bo  BookmarkName #open
br BookmarkName #remove
bl #list

整个函数列表列在 GitHub 项目 页面


2
投票

我用这个技巧:

在我的 $profile 中我写了这样的函数:

 function win { Set-Location c:\windows}

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

等等...


0
投票

尝试基于 Java 脚本的多平台目录书签。可以将多个书签分配给一个目录。使用过的书签名称可以循环使用:重复保存相同的书签将默默地覆盖原始条目。书签区分大小写,并以 CSV 文本格式(制表符分隔)保存在名为

.directory-bookmarks.csv
的用户主目录中,以便可以使用常规文本编辑器轻松编辑它们。

https://github.com/pponec/PPScriptsForJava/blob/main/docs/DirectoryBookmarks.md

© www.soinside.com 2019 - 2024. All rights reserved.