我有一个文本文件(file1.txt),其中记录的行不同
Variable1,2018
Variable2,Jun
现在在我的脚本中,我想将值存储在不同的变量中。 例如,我希望最终结果是 年份= 2018 期间=六月
我尝试了以下逻辑,但由于将两个值都存储在一个变量中,因此无法解决目的。
Get-Content "file1.txt" | ForEach-Object {
$Var=$_.split(",")
$Year=$Var[1]
$Period=$Var[1]
}
请帮助。
答案 0 :(得分:1)
如果要使用变量,可以执行以下操作:
$Object=(Get-Content C:\Temp\test.txt).Replace(',', '=') | ConvertFrom-StringData
$Object.Variable1
$Object.Variable2
答案 1 :(得分:1)
您可以使用如下哈希来实现:
$h = @{}
Get-Content "file1.txt" | % {
$var = $_.split(",")
$h[$var[0]] = $var[1]
}
$h['Variable1']
或者您可以使用这样的对象:
$o = New-Object psobject
Get-Content "file1.txt" | % {
$var = $_.split(",")
$o | Add-Member -MemberType NoteProperty -Name $var[0] -Value $var[1]
$h[$var[0]] = $var[1]
}
$o.Variable1
答案 2 :(得分:1)
为什么不使用new-variable
cmdlet?
#get content from your file instead
$str = "Variable1,2018","Variable2,Jun"
foreach ($line in $str)
{
$line = $line.split(",")
New-Variable -name $line[0] -Value $line[1]
}