【发布时间】:2020-04-23 21:07:51
【问题描述】:
我正在尝试在 power shell 中编写一个脚本来读取 excel 中的第一列值,在文本文件中查找值并将该值替换为 excel 文件第二列中的值。我是 power shell 的新手。请帮忙。下面是代码:
$excel = Import-Csv -Path C:\Users\abc\Desktop\newnbc.csv
foreach ($ex in $excel)
{
$name = $ex.first
$match = Get-Content -Path 'C:\Users\abc\Desktop\all.txt'
foreach ($ma in $match)
{
if ($match | %{$_ -replace $ex.first,$ex.last})
{
((Get-Content -Path C:\Users\abc\Desktop\all.txt -Raw) -replace $name,$ex.last) | Set-Content -Path C:\Users\abc\Desktop\all.txt
}
}
}
【问题讨论】:
-
您面临的问题/错误是什么?在问题中添加这个很好吗?
-
文件完全替换为第一列中的第一个值
-
您能否添加一个示例,说明您的 CSV 是什么样的?
-
第一个最后一个 i3-chq-nbc-dt-comcleanup-cmd i3-chq-nbc-dt-d-com-cleanup
-
Arna k,如果您的 csv 不包含标题,则它不是常见的 csv 文件,因此添加
cvsfile 和 @ 的样本很重要987654324@ 文件(和预期输出)到问题。 (见:How to Ask)。
标签: powershell csv replace