$source = "C:\blah.csv"
(gc $source) | foreach{ $_.Split(',')[10] = 'something'} | sc $source
答案 0 :(得分:0)
基本上,你正在尝试的是这样的:
$s = 'a,b,c,d,e'
$s.Split(',')[4] = 'something'
$s
这不起作用,因为你没有为任何变量分配'某事'。
我要么将文件读作csv(通过Import-CSV
),要么(如果结构非常简单)使用正则表达式:
$s = 'c,d,e', 'c,d,x', 'z,f,d'
$s | % { $_ -replace '(?<=([^,]*,){2}).*','something'}