如何在 Powershell 中创建自定义全局系统范围变量(如 $Home)并为其分配持久值?

如何在 Powershell 中创建自定义全局系统范围变量(如 $Home)并为其分配持久值?

我刚刚开始学习 Powershell,有一件事开始困扰我。

$env:Home和之间令人不快且不公平的混淆区别$HOME$HOME只需输入$hom>即可自动完成Tab其中的内容,但对于其对应部分,我们需要输入$env:Ho> Tab

我认为这$HOME是一种全局变量,在任何 Powershell 会话中,即使在系统重启后仍然有效。

所以问题是:如何创建这样的持久和全局变量并从命令输出或环境变量输出或目录/文件的直接路径为其分配值?

答案1

您说得对,$home这是 powershell 中的一个全局变量。这些变量与环境变量不同。好消息是您可以创建自己的变量。

实现您想要的操作的一种方法是编辑您的 Powershell 配置文件(@Lee_Dailey 在评论中提到了这一点)。

  1. 首先找到profile.ps1要应用此操作的文件。
    这些文件位于不同的位置,每个文件对应不同的用户/权限。您可以使用选择要应用到哪一个。我将使用C:\Users\<username>\Documents\WindowsPowerShell\profile.ps1
  2. 添加变量如下:
$docs = "C:\Users\<username>\Documents"
# ^^^         ^^^
# name       value
  1. 重启 powershell
  2. 您现在可以使用与 相同的功能$home
cd $docs 

相关内容