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

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

    我们的需求是当想要列出脚本中所有变量。

    这里定义了一个函数 Get-Variable:

    复制代码 代码如下:

    function Get-Variable
    {
     
      $token = $null
      $errors = $null
     
      $ast = [System.Management.Automation.Language.Parser]::ParseInput($psise.CurrentFile.Editor.Text, [ref] $token, [ref] $errors)
     
      # not complete, add variables you want to exclude from the list:
      $systemVariables = '_', 'null', 'psitem', 'true', 'false', 'args', 'host'
     
      $null = $ast.FindAll({ $args[0] -is [System.Management.Automation.Language.CommandAst] }, $true)
      $token |
        Where-Object { $_.Kind -eq 'Variable'} |
        Select-Object -ExpandProperty Name |
        Where-Object { $systemVariables -notcontains $_ } |
        Sort-Object -Unique
    }

    将脚本加载到ISE编辑器,接着已交互方式运行Get-Variable.

    你将获取当前打开脚本的变量清单。

    如果你用包含了脚本代码的变量去替换掉 “$psise.CurrentFile.Editor.Text”。你可以直接在编辑器外部运行这个,照这样,我们可以使用Get-Content加载任何脚本到变量,同时使用这个加载变量到上面代码中。

    支持3.0及以后

    在开发过程中,经常需要用到环境变量(比如当前计算机名、登录的用户名、Path环境变量等),那么在PowerShell中如何知道有哪些环境变量呢?又该如何获取指定环境变量的值呢?

    PowerShell通过环境变量提供者(Environment Provider)让我们可以访问环境变量。默认情况下,PowerShell创建了一个驱动器(名称为env)来与Environment Provider打交道。所以,我们可以通过env这个驱动器来处理与环境变量相关的操作。

    1、列出所有的环境变量

    我们可以使用“Get-ChildItem env:”来获取所有的环境变量列表。洪哥本机的运行结果如下:

    复制代码 代码如下:

    PS C:\Users\zhanghong> dir env:

    Name                           Value
    ----                           -----
    ALLUSERSPROFILE                C:\ProgramData
    APPDATA                        C:\Users\zhanghong\AppData\Roaming
    CommonProgramFiles             C:\Program Files\Common Files
    CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
    COMPUTERNAME                   ZHANGHONG-BOOK
    ComSpec                        C:\Windows\system32\cmd.exe
    HOMEDRIVE                      C:
    HOMEPATH                       \Users\zhanghong
    JAVA_HOME                      D:\JavaDevEnv\jdk1.6.0_16
    ……

    注意,Get-ChildItem和dir是一个意思,后者是前者的别名。洪哥喜欢偷懒,所以直接用了dir。
    上面,列出了所有的环境变量,有兴趣的朋友可以一一熟悉一下,以便后面在需要用到变量的值时去调用。

    2、获取环境变量的值

    语法:$env:变量名>

    举个例子,如果我想获取当前计算机名称,则用法如下:

    复制代码 代码如下:

    PS C:\Users\zhanghong> $env:computername
    ZHANGHONG-BOOK

    注意,环境变量也是一种变量,所以在“env:”之前必须有PowerShell变量的专用前缀“$”。

    关于PowerShell获取环境变量的值,本文就介绍这么多,希望对大家有所帮助,谢谢!

    您可能感兴趣的文章:
    • PowerShell小技巧之实现文件下载(类wget)
    • PowerShell小技巧之获取域名whois信息
    • PowerShell小技巧之获取Windows系统密码Hash
    • PowerShell小技巧之获取TCP响应(类Telnet)
    • Powershell小技巧之捕获脚本内部的异常
    • Powershell小技巧之获取对象可变的特征
    • Powershell小技巧之用变量累积记录错误
    • Powershell小技巧之获取注册表值的类型
    • PowerShell小技巧之定时抓取屏幕图像
    上一篇:Powershell小技巧之获取对象可变的特征
    下一篇:Powershell小技巧之捕获脚本内部的异常
  • 相关文章
  • 

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

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

    Powershell小技巧之获取变量列表 Powershell,小,技巧,之,获取,