【发布时间】:2016-03-14 10:44:18
【问题描述】:
我需要导入一个 csv,选择一个字符串并将它的部分值更改为 $env:username。我想我必须使用select-string 来获取字符串,但我坚持更改值。或者是否可以将$env:username 直接写入csv?我没能做到。此外,CSV 应该保持原样,只有当前的 powershell 会话需要正确的字符串
CSV 长这样,userhome 应该换成$env:username:
Test Test2
----- -----
Hi C:\user\userhome
something C:\test\install
hello C:\windows
这就是我尝试过的,但我没有成功。
$test.Test2 | sls userhome -replace ($env:username)
另一种方法:
sls ($test.Test2).value -replace ("userhome",$env:username)
编辑:这是需要此 csv 的整个命令 - 仅供参考:
$Drives = Import-CSV .\NetworkDrives.csv -Delimiter ';' | ? {(($_.Group).split(',') -contains $UserOU) -and (!(Test-Path $_.Letter))} | % { #Do Stuff }
【问题讨论】:
-
$Csv | % {$_.PSObject.Properties} | % {$_.Value = $_.Value -replace "userhome", $env:username}
标签: powershell