我在使用可變數量參數的腳本運行powershell時遇到問題。如何從命令行將字符串參數傳遞給Powershell for ConvertFrom-StringData?
腳本文件是這樣的:
param([string]$paramString)
$params = ConvertFrom-StringData $paramString
$params
直接在PowerShell中運行腳本產生預期的結果:
[PS] C:\some\path>.\test.ps1 "a=foo `n b=bar `n c=moo"
Name Value
---- -----
c moo
a foo
b bar
從相同的腳本和參數從命令行調用PowerShell中顯示了這種:
C:\some\path>powershell -nologo -file ./test.ps1 "a=foo `n b=bar `n c=moo"
Name Value
---- -----
a foo `n b=bar `n c=moo
看起來好像傳遞的字符串是在某種格式下,ConvertFrom-StringData
函數無法再解析它。
感謝羅馬,那工作。只是另一件事的附錄:我有一個腳本的第二個參數,其中包含一個字面應該從字面上使用的字符串。使用「」param1「」「」a = foo`n b = bar`n c = moo「」導致兩個字符串被連接在一起。我必須使用'param1'「」a = foo`n b = bar`n c = moo「」才能使其按預期工作。 – 2010-11-26 12:54:26