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