【问题标题】:Looking to do a find and replace using PowerShell via a csv file希望通过 csv 文件使用 PowerShell 进行查找和替换
【发布时间】:2026-02-06 10:05:02
【问题描述】:

使用 csv 中列出的文件查找和替换字符串时遇到了障碍。举例我到目前为止。任何帮助将不胜感激。

$inputfiles = Import-Csv D:\temp\testfolder\test.csv
$find = 'shazaam'
$replace ='shazaam1234'

foreach ($inputfile in $inputfiles) {

(Get-Content $PSItem.FullName) -Replace $oldString,$newString | Set-Content -Path 
$PSItem.FullName
}

【问题讨论】:

  • 请向我们展示您的 csv 文件的一部分。这将帮助我们弄清楚您的代码在做什么。
  • 这里是一个例子:D:\temp\testfolder\sqlload D:\temp\testfolder\sqlload_mask
  • 请把信息添加到您的问题中,而不是在评论中。不仅评论容易被忽视……它通常很难阅读。 [咧嘴]

标签: powershell foreach import-csv


【解决方案1】:

如果 csv 的第一行是“全名”,那么下面的脚本应该可以工作。

# Import files with import csv (if first line isn't 'FullName' use Get-Content instead)
$inputfiles = Import-Csv D:\temp\testfolder\test.csv
$find = 'shazaam'
$replace ='shazaam1234'

# iterate through inputfiles
$inputfiles.Foreach({
    # use .Replace instead because it uses no regular expressions
    (Get-Content -Path $_.FullName).Replace($find,$replace) | Set-Content -Path $_.FullName
})

【讨论】:

    最近更新 更多