Nếu điều đó là chính xác cách thức tập tin của bạn xuất hiện tức là một danh sách các cặp giá trị key thể hiện bằng một bằng dấu thì bạn nên có một cái nhìn tại ConvertFrom-StringData
mà
chuyển đổi một chuỗi chứa một hoặc nhiều cặp khóa và giá trị vào bảng băm. Bởi vì mỗi cặp khóa/giá trị phải nằm trên một dòng riêng biệt, các chuỗi tại đây thường được sử dụng làm định dạng đầu vào.
Vì vậy, nếu một file văn bản chứa chỉ các dữ liệu trong ví dụ của bạn, bạn có thể làm điều này để tạo ra một Hashtable
$Path = "C:\temp\test.txt"
$values = Get-Content $Path | Out-String | ConvertFrom-StringData
$values.midasServer
Trường hợp $values.midasServer
sẽ có serv8194 giá trị. Không cần biết vị trí của thuộc tính đối với tệp. Tệp đầu vào của bạn cũng có thể có không gian hàng đầu và cuối khác nhau xung quanh dấu bằng sẽ cho kết quả chính xác tương tự.
Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể mất một bước xa hơn và tạo ra một đối tượng tùy chỉnh từ đó Hashtable
New-Object -TypeName pscustomobject -Property $values
Nếu bạn có ít nhất PowerShell v3 hoặc cao hơn, bạn có thể đơn giản hóa quá trình này (giả sử bạn muốn có một tùy chỉnh psobject)
$values = [pscustomobject](Get-Content $Path -Raw | ConvertFrom-StringData)
$values.midasServer
Điều này làm việc cho tôi, nhưng tôi vẫn gặp lỗi khi nói rằng Tên không thể được tạo vì nó là một chuỗi rỗng. Tại sao vậy? – Pred