• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Windows Powershell 环境变量

    传统的控制台一般没有象Powershell这么高级的变量系统。它们都是依赖于机器本身的环境变量,进行操作 。环境变量对于powershell显得很重要,因为它涵盖了许多操作系统的细节信息。此外,powershell中的变量只存在于powershell内部的会话中,一旦powershell关闭,这些变量就会自生自灭。但是如果环境变量被更新了,它会继续保存在操作系统中,即使其它程序也可以调用它。

    读取特殊的环境变量

    通过环境变量读取Windows操作系统的安装路径,和默认应用程序的安装路径。

    PS> $env:windir
    C:\Windows
    PS> $env:ProgramFiles
    C:\Program Files

    通过$env:,这就提示powershell忽略基本的variable:驱动器,而是去环境变量env:驱动器中寻找变量。为了和其它变量保持一致,powershell环境变量也可以象其它变量那样使用。比如你可以把它插入到文本中。

    PS> "My computer name $env:COMPUTERNAME"
    My computer name MYHome-test-01

    查找环境变量

    Powershell把所有环境变量的记录保存在env: 虚拟驱动中,因此可以列出所有环境变量 。一旦查出环境变量的名字就可以使用$env:name 访问了。

    PS> ls env:
    Name              Value
    ----              -----
    ALLUSERSPROFILE        C:\ProgramData
    APPDATA            C:\User\sv-test\Home\AppData\Roaming
    CommonProgramFiles       C:\Program Files\Common Files
    COMPUTERNAME          MYHome-test-01
    ComSpec            C:\Windows\system32\cmd.exe
    FP_NO_HOST_CHECK        NO
    HOMEDRIVE           C:
    HOMEPATH            Users\v-test\Home

    创建新的环境变量

    创建新环境变量的方法和创建其它变量一样,只需要指定env:虚拟驱动器即可

    PS> $env:TestVar1="This is my environment variable"
    PS> $env:TestVar2="Hollow, environment variable"
    PS> ls env:Test*
    
    Name              Value
    ----              -----
    TestVar1            This is my environment variable
    TestVar2            Hollow, environment variable
    

    删除和更新环境变量

    在powershell删除和更新环境变量和常规变量一样。例如要删除环境变量中的 windir,

    PS> del env:windir
    PS> $env:windir
    PS>

    可以更新环境变量$env:OS 为linux redhat。

    PS> $env:OS
    Windows_NT
    PS> $env:OS="Redhat Linux"
    PS> $env:OS
    Redhat Linux

    这样直接操作环境变量,会不会不安全?事实上很安全,因为$env:中的环境变量只是机器环境变量的一个副本,即使你更改了它,下一次重新打开时,又会恢复如初。(.NET方法更新环境变量除外)

    我们可以将受信任的文件夹列表追加到环境变量的末尾,这样就可以直接通过相对路径执行这些文件下的文件或者脚本,甚至省略扩展名都可以。

    PS> md .myscript
    
      Directory:
    
    Mode        LastWriteTime   Length Name
    ----        -------------   ------ ----
    d----    2011/11/29   18:20      myscript
    
    PS> cd .myscript
    PSmyscript> "write-host 'Hollow , Powershell'" > hollow.ps1
    PSmyscript> .hollow.ps1
    Hollow , Powershell
    PSmyscript> cd ..
    PS> $env:Path+=";C:PowerShellmyscript"
    PS> hollow.ps1
    Hollow , Powershell
    PS> hollow
    Hollow , Powershell
    

    环境变量更新生效
    上述对于环境变量的操作只会影响当前powershell会话,并没有更新在机器上。
    .NET方法[environment]::SetEnvironmentvariable操作可以立刻生效。
    下面的例子对当前用户设置环境变量,经测试,重新打开powershell仍然存在

    PS> [environment]::SetEnvironmentvariable("Path", ";c:\powershellscript", "User")
    PS> [environment]::GetEnvironmentvariable("Path", "User")
    ;c:\powershellscript
    

    您可能感兴趣的文章:
    • Windows Powershell 自动化变量
    • Windows Powershell 变量的作用域
    • Windows Powershell 变量的类型和强类型
    • Windows Powershell 变量的幕后管理
    • Windows Powershell 命令返回数组
    上一篇:Windows Powershell 自动化变量
    下一篇:Windows Powershell 变量的作用域
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Windows Powershell 环境变量 Windows,Powershell,环境,变量,