当前位置: 首页 > 知识库问答 >
问题:

如何创建永久的PowerShell别名

宗乐池
2023-03-14

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

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

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

注:

PowerShell帮助系统建议我可以导出我创建的别名,并在下次打开新会话时导入它们,实际上这并不是我想要的,因为,在我通过不同会话创建别名后,有没有直接明确的方法保持别名

共有3个答案

那谦
2023-03-14

您可以借助一个简单的PowerShell脚本链接到任何文件或目录。

打开Windows PowerShell ISE。在脚本窗格中写入:

New-Alias ${shortcutName} ${fullFileLocation}

然后转到命令行窗格。使用echo$profile查找您的PowerShell用户配置文件地址。将脚本保存在此地址中。

每次打开PowerShell时,PowerShell配置文件地址中的脚本都将运行。快捷方式应适用于每个新的PowerShell窗口。

它需要我们脚本中的另一行。

function ${nameOfFunction} {set-location ${directory_location}}
New-Alias ${shortcut} ${nameOfFunction} 

其余的完全一样。

向下滚动到PowerShell部分,勾选“更改执行策略…”选项,并应用。

高墨一
2023-03-14

直接将这种东西添加到您的$env: WINDIRPowershell文件夹中不是一个好主意,除非您真的希望您的别名是全局的。
推荐的方法是将其添加到您的个人配置文件中:

cd $env:USERPROFILE\Documents
md WindowsPowerShell -ErrorAction SilentlyContinue
cd WindowsPowerShell
New-Item Microsoft.PowerShell_profile.ps1 -ItemType "file" -ErrorAction SilentlyContinue
powershell_ise.exe .\Microsoft.PowerShell_profile.ps1

现在将您的别名添加到Microsoft。PowerShell\u配置文件。现在打开的ps1文件:

function Do-ActualThing {
    # do actual thing
}

Set-Alias MyAlias Do-ActualThing

然后保存,并使用以下命令刷新当前会话:

. $profile

注意:以防万一,如果您遇到如下权限问题

类别信息: SecurityError: (:) [], PSSecurityExc0019 FullyQualifiedErrorId: UnAuthizedAccess

尝试下面的命令并再次刷新会话。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
臧弘和
2023-03-14

更新- 2021年1月

可以存储在配置文件中。ps1将每次启动PowerShell时要执行的任何PowerShell代码归档。根据必须执行代码的用户,至少有6种不同的路径用于存储代码。我们将只考虑其中的2个:“所有用户”和“只有您的用户”路径(按照前面的链接进行进一步的选择)。

要回答您的问题,您只需创建一个配置文件。ps1包含要执行的代码的文件,即:

New-Alias Goto Set-Location

并将其保存在正确的路径中:

  • "$Home\Documents"(通常是C:\用户\

重要提示:请记住,您需要重新启动PowerShell实例以应用更改。

提示

>

如果不需要将代码的执行扩展到每个用户,请始终将代码放在用户特定的配置文件中。
另一个优点是,您不需要管理员权限来将文件添加到您的用户空间(您可以在C:\Windows\System32中执行任何操作)。

如果确实需要为每个用户执行配置文件代码,请注意PowerShell的32位和64位实例$PsHome路径是不同的。如果要始终执行配置文件代码,则应同时考虑这两种环境。

路径是:

  • C:\Windows\System32\WindowsPowerShell\v1。0用于64位环境

 类似资料:
  • 问题内容: 我已经安装了MySQL(MAMP,Mac OS X),但是每次我从外壳访问它时都需要使用完整路径来调用它。我创建了一个别名:,但这仅持续到我的终端/ Bash会话。 建立可在所有用户中使用的永久别名的有效方法是什么?(我需要能够从PHP执行命令)。我应该在Bash启动脚本中设置别名(如何完成?),还是最好编辑sudoers文件?(也可以使用一个示例。) 谢谢 - 编辑-根据答案: 我只

  • 本文向大家介绍如何使用PowerShell创建新别名?,包括了如何使用PowerShell创建新别名?的使用技巧和注意事项,需要的朋友参考一下 任何人都可以创建一个新的别名,该别名是另一个命令的快捷方式。若要创建自己的别名,您需要使用Set-Alias cmdlet。在这里,我们将创建一个新的别名Edit,它将打开一个Notepad.exe。首先,我们将检查是否存在“编辑别名”。 由于这将是一个新

  • 我不知道我问的是不是完全愚蠢。我有一个网页,比如说。其中一个页面是。其布局如下: lorem ipsum dolor sit amet,是一位杰出的献身者。毛里斯前庭多尔坐在阿梅特·乌尔特里塞斯·朗库斯(amet ultrices rhoncus)。NANC在arcu eget libero拍卖行sodales。Morbi tristique tincidunt consequat。Donec v

  • 我想在一个可以更新的文件中创建一组别名,然后调用别名,以便执行该文件,并在当前会话中为我提供新的别名。最终,我希望这些别名在PS启动时自动可用,所以我使用的是将它们放入。现在看来: 我如何做到这一点,以便在启动时加载别名,同时也可以使用别名更新别名,并将其带到当前会话中?

  • 我试图通过JUnit 5测试我的spring boot应用程序。 测试方法需要一些环境变量。即使我把它们放在列表中,每个测试方法都会创建一个新的JUnit配置,所以我必须再次放它们。 我看到JetBrains上的文档。我不能保存JUnit配置。因为每个配置。取决于方法。 有没有办法创建一个永久的JUnit配置。关于IntelliJ?

  • 我有一个菜单和一个子菜单。仅当将鼠标悬停在子菜单上时,才会显示该子菜单。问题1:我希望它永久显示。问题2:我希望它水平显示(而不是像现在那样垂直显示)。要明白我的意思,去http://appartement-met-zeezicht.be并停留在“英语”上。“英语”项下显示的内容应以水平(而非垂直)方式永久性地显示。谢谢!! /子菜单/ . tinynav,. tinynav1{显示:无;}