2017-08-15 69 views
0

我在GitHub上的文本文件,在像位置讀取在PowerShell中的變量:https://github.com/raw/my-account/my-project/paths.txt如何從GitHub的文本文件

文本文件中包含了「=」號等分離鍵值對:

key1=value1 
key2=value2 
key3=value3 

我想收集這些變量到我的Powershell腳本中。如果文本文件是本地的,我可以做到這一點:

Get-Content paths.txt | Foreach-Object{ 
    $var = $_.Split('=') 
    New-Variable -Name $var[0] -Value $var[1] 
} 

要閱讀從GitHub的文本文件,我試着用雙引號引起來的文本文件的GitHub的位置替換「paths.txt」。但是,它表示找不到驅動器號「https」。

如何從GitHub讀取文本文件並將變量存儲到Powershell腳本中?

+0

你需要使用'Invoke- WebRequest'並探索參數來獲得你想要的輸出 – TheIncorrigible1

回答

3

使用ConvertFrom-StringData(3.0以上版本):

$webRequest = Invoke-WebRequest https://github.com/raw/my-account/my-project/paths.txt 
$paths = ConvertFrom-StringData -StringData $webRequest.Content 

$paths現在是輸入數據的每一個獨立的名稱鍵的哈希表:

PS C:\> $paths['key1'] 
value1 
+0

如果$ paths ['key1']需要在雙引號內,我怎麼能得到這個值?當放在雙引號中時,它打印出System.Collections.Hashtable ['key1']。 –

+1

「像這樣:$($ paths ['key1'])」 –