在PowerShell中创建文件夹别名

cra*_*aig 4 powershell powershell-2.0

我知道我可以在我的个人资料中创建代表文件夹路径的变量.例如,

$here = Split-Path -Parent $MyInvocation.MyCommand.Path
Run Code Online (Sandbox Code Playgroud)

有一种简单的方法可以在PowerShell中为目录创建别名吗?

创建别名

PS> Create-FolderAlias -name $foo -path "C:\Program Files"
Run Code Online (Sandbox Code Playgroud)

根据其他别名创建别名

PS> Create-FolderAlias -name $bar -path $foo + "\Microsoft"
Run Code Online (Sandbox Code Playgroud)

按预期使用别名

PS> cd $foo
Run Code Online (Sandbox Code Playgroud)

如果在会话之间保留这些别名会很好.

Lar*_*ens 12

您可以使用New-PSDrive将文件夹转换为新的PowerShell驱动器

New-PSDrive foo filesystem 'C:\Program Files'
New-PSDrive bar filesystem 'foo:\Microsoft'
cd foo:
Run Code Online (Sandbox Code Playgroud)

要在会话之间保留,您可以将它们添加到配置文件脚本($ profile).

但是当然你也可以从变量cd到一个文件夹

$foo = 'C:\Program Files'
$bar = Join-Path $foo 'Microsoft'
cd $foo
Run Code Online (Sandbox Code Playgroud)


en *_*asa 5

另一种解决方案是编写一个cd指向该目录的函数。对我来说,这会产生最少的打字量来到达我想要的地方。例如,我将以下函数放入我的profile.ps1

# quickly cd to folder
function <short name> {
    cd <path to directory>
}
Run Code Online (Sandbox Code Playgroud)

然后,在 Powershell 中:

PS> <short name>
Run Code Online (Sandbox Code Playgroud)