我在winos中看过这个问题,你的问题是文件正在使用,同时还有临时变量$_的问题。你的解决方案就是正确的,脚本并不会因为你写成一句而提高效率,有时会造成更大的资源浪费。
嵌套执行的语法是一个用临时变量一个用变量:
$u2=get-content d:\u2.csv
foreach($dep in (import-csv d:\dep.csv)){
$u2=$u2.replace($dep.zw,$dep.yw)
}
$u2|set-content d:\u2.csv
这样单循环就能解决问题。
下面是用嵌套的方式来解决:
$u2=import-csv d:\u2.csv
foreach($dep in (import-csv d:\dep.csv)){
$u2|?{$_.zw -eq $dep.zw}|%($_.zw=$dep.yw)
}
$u2|Export-Csv d:\u2.csv -not -Enc oem
这里还是使用了变量$u2,在变量里修改,然后统一导出。