【发布时间】:2015-12-18 05:57:50
【问题描述】:
我有一个文本文件,其中包含由“=”符号分隔的元素(即 color1=red、color2=blue 等。
我使用了 import-csv 命令并提供了标题(即
$Import_Cfg = Import-Csv .\Env.cfg -Header Title,Setting -Delimiter =
)
现在,如果我想将特定项目分配给另一个变量,如果我知道索引号并且我已经使用了这种方法,那么这可以正常工作,但它并不总是对我有用,因为我并不总是知道其他数据会在那里。
我认为通过使用类似的东西:
$MyColor1 = $Import_Cfg.Setting |where {$_.Title -match "Blue"}
$MyColor2 = $Import_Cfg.Setting |where {$_.Title -match "Red"}
它应该可以工作,但我没有得到任何一个项目的回报。当我输入 $Import_cfg 时,我可以看到整个数组(没有“=”符号)。如果我告诉使用命令
$MyColor1 = $import_cfg[0].setting
我得到了正确的答案。
显然,我使用的不是颜色,而是一堆不同的项目,我需要将它们分配给变量以在其他地方使用。对我做错了什么有任何想法吗?我读过的所有内容都表明我上面的内容应该可以工作。
请不要对我使用 import-csv 与 get-content 的原因进行抨击。我相信任何一个都可以。这是我使用过的一种方法,在计算上它并不重要。如果以编程方式产生影响,我会全神贯注!!!
感谢您的所有帮助。
【问题讨论】:
-
从您的命令中删除
.Setting,然后重试。 -
当我这样做时,我最终得到了这两个元素。我只需要右边那个。
-
啊...但是如果我再做 $Mycolor.Setting 我确实得到了元素。那种作品。当我想使用它时,我宁愿不必将“.setting”添加到变量中。
标签: powershell