在PowerShell中,我导入的CSV SAMTemp2
将包含一个名为SO
的字段。有时SO
会填充" NW"在这些情况下,我只想从同一行中提取名为ProdProj
的字段,并将SO
中的数据替换为ProdProj
中的数据,然后将该数据导出该条件。< / p>
$RepNW = Import-Csv $SAMTemp2
foreach($d in $data){
If($d.SO -eq "NW"){($d.SO).Replace($d.ProdProj)}}
$RepNW | Export-Csv $SAMTemp -NoTypeInformation
我没有收到错误,但这似乎也没有做任何事情。请问有人可以帮助我吗?
下面的Per Matt,我试过了:
$RepNW = Import-Csv $SAMTemp2
foreach($d in $RepNW){
If($d.SO -eq "NW"){$d.SO = ($d.SO).Replace($d.ProdProj)}}
$RepNW | Export-Csv $SAMTemp -NoTypeInformation
但我没有看到任何改变。任何帮助表示赞赏。
答案 0 :(得分:3)
正如LotPings在此行.obj
中指出的那样,您尚未定义foreach($d in $data){
,而您似乎认为它是$data
其次,您可以将一个属性设置为等于另一个属性,而不是使用foreach($d in $RepNW){
。
最后,这可能最容易在Replace()
ForEach-Object