0
我只是試圖適應the scripting guy's example使用ConvertFrom-StringData
從一個文本文件中讀取數據並解析哈希表:ConvertFrom-StringData是失敗鑄造Hashtable的
$PSVersionTable.PSVersion;
[String] $loginsFileName = "$HOME\Logins.txt";
Get-Content $loginsFileName;
[Hashtable] $logins = Get-Content -Path $loginsFileName | ConvertFrom-StringData;
Write-Host got $logins.count lines from $loginsFileName;
$logins.GetEnumerator() | Sort-Object Name;
我被搞砸了:
Major Minor Build Revision
----- ----- ----- --------
3 0 -1 -1
Lisa=GanzGeheim
Susanne=ganzgeheim
Fritz=geheim
Hans=Geheim
Der Wert "System.Object[]" vom Typ "System.Object[]" kann nicht in den Typ "System.Collections.Hashtable" konvertiert werden.
In Zeile:11 Zeichen:1
+ [Hashtable] $logins = Get-Content -Path $loginsFileName | ConvertFrom-StringData ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException
+ FullyQualifiedErrorId : RuntimeException
got 0 lines from E:\Users\Christian\Logins.txt
我的猜測:管道出問題了。我試圖強調Get-Content通過擁抱(Get-Content-Path $ loginsFileName)來傳遞一個數組 - 沒有任何改進。任何人都可以給我一些提示嗎?
非常感謝,-Raw做到了! – Christian
如果你不能使用'-Raw'開關,你應該可以執行'(Get-Content -Path $ loginsFileName) - 加入「'r'n」'來取得相同的結果。 – TheMadTechnician
@TheMadTechnician我在想什麼,我應該停止提及約2.0 – Matt