国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

Powershell小技巧之獲取變量列表

2020-10-29 21:01:52
字體:
來源:轉載
供稿:網友

我們的需求是當想要列出腳本中所有變量。

這里定義了一個函數 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獲取環境變量的值,本文就介紹這么多,希望對大家有所幫助,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉沽区| 呼玛县| 五莲县| 德阳市| 久治县| 雷波县| 卢龙县| 昭觉县| 北京市| 亳州市| 绵竹市| 藁城市| 伊金霍洛旗| 合阳县| 兴义市| 洪湖市| 亳州市| 金沙县| 建宁县| 融水| 株洲市| 二手房| 怀安县| 乌审旗| 眉山市| 巧家县| 蕉岭县| 岳普湖县| 南康市| 信丰县| 屏东县| 略阳县| 女性| 全椒县| 北川| 开原市| 武城县| 宁南县| 贵溪市| 呼和浩特市| 岳西县|