我想创建一个cmdlet的别名,它不会在我关闭Powershell的当前会话后过期,假设我有这样的别名:

C:\Users\Aymen> New-Alias Goto Set-Location

这完美地创建了Goto别名,但我想使用它,甚至在我关闭当前会话后,我如何实现这一点。

注意:

PowerShell帮助系统建议我可以导出我创建的别名,并在下次我打开一个新会话时导入它们,实际上这并不是我真正在寻找的,是否有一种直接清晰的方法来保持别名在我通过不同的会话创建它之后


当前回答

创建profile1。PSL文件,输入以下命令:

新项目概要文件。CurrentUserAllHosts -ItemType file -Force

要访问文件,输入下面的命令:

伊势美元概要文件。CurrentUserAllHosts

注意,如果你以前没有这样做过,你会发现你不会 能够运行脚本是因为您的执行策略,您需要将其从受限(默认)更改为无限制。

为此,关闭脚本,然后键入以下命令:

Set-ExecutionPolicy -Scope CurrentUser

然后:

RemoteSigned

然后再次执行以下命令:

伊势美元概要文件。CurrentUserAllHosts

最后在脚本中输入您的别名,保存它,它们应该 每次运行powershell时都要运行,即使是在重新启动计算机之后。

其他回答

这是个人喜好的问题,但我更喜欢将我的别名存储在一个单独的文件中,并在概要文件中调用Import-Alias。

$profileDir = Split-Path $PROFILE -Parent
$profileFile = Join-Path $profileDir profile.ps1
$aliasFile = Join-Path $profileDir aliases.csv
New-Alias -Name npp -Value "C:\Program Files\Notepad++\notepad++.exe" -Description "Notepad++"
Export-Alias -Name npp -Path $aliasFile -Append
ise $profileFile

然后在ISE中,将这一行放到你的profile.ps1中

Import-Alias -Path (Join-Path $PSScriptRoot aliases.csv)

只是在这个可能的地点列表上加上…

这对我不起作用: 用户\ \{我}\ \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1文档

然而,这造成了: 用户\ \{我}\ OneDrive \ \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1文档

如果你没有配置文件,或者你想建立一个,运行下面的命令,它会创建必要的文件夹/文件,甚至告诉你它在哪里! 新建项目-path $profile -type file -force

创建profile1。PSL文件,输入以下命令:

新项目概要文件。CurrentUserAllHosts -ItemType file -Force

要访问文件,输入下面的命令:

伊势美元概要文件。CurrentUserAllHosts

注意,如果你以前没有这样做过,你会发现你不会 能够运行脚本是因为您的执行策略,您需要将其从受限(默认)更改为无限制。

为此,关闭脚本,然后键入以下命令:

Set-ExecutionPolicy -Scope CurrentUser

然后:

RemoteSigned

然后再次执行以下命令:

伊势美元概要文件。CurrentUserAllHosts

最后在脚本中输入您的别名,保存它,它们应该 每次运行powershell时都要运行,即使是在重新启动计算机之后。

打开一个Windows PowerShell窗口,输入:

notepad $profile

然后创建一个函数,比如:

function goSomewhereThenOpenGoogleThenDeleteSomething {
    cd C:\Users\
    Start-Process -FilePath "http://www.google.com"
    rm fileName.txt
}

然后在函数名下面输入:

Set-Alias google goSomewhereThenOpenGoogleThenDeleteSomething

现在,您可以在Windows PowerShell中输入单词“谷歌”,并让它在函数中执行代码!

提供最简单的解决方案:

打开powershell notepad $ phome \ profile .ps1:

函数Goto() { #函数名为别名,命令集为函数体 Set-Location } 3.保存并退出记事本 4. 设置powershell权限:Set-ExecutionPolicy -ExecutionPolicy remotessigned 5. 重新启动powershell并写入goto