我正在使用一个PowerShell脚本来查找给定目录内所有带有PATTERN的文件,打印出文档的相关行并突出显示PATTERN,然后用提供的REPLACE单词替换PATTERN,然后将文件保存回去。因此,它实际上是在编辑文件。
除了我无法更改文件外,因为Windows抱怨文件已经打开。我尝试了几种方法来解决此问题,但仍然遇到问题。也许有人可以帮助您:
param(
[string] $pattern = ""
,[string] $replace = ""
,[string] $directory ="."
,[switch] $recurse = $false
,[switch] $caseSensitive = $false)
if($pattern -eq $null -or $pattern -eq "")
{
Write-Error "Please provide a search pattern." ; return
}
if($directory -eq $null -or $directory -eq "")
{
Write-Error "Please provide a directory." ; return
}
if($replace -eq $null -or $replace -eq "")
{
Write-Error "Please provide a string to replace." ; return
}
$regexPattern = $pattern
if($caseSensitive -eq $false) { …Run Code Online (Sandbox Code Playgroud)