如何在PowerShell中将组合字符"(替换为Tr并批量处理SQL文件?
问题排查与解决
你的脚本核心问题是正则表达式写错了,完全没匹配到你要替换的"(字符组合,所以替换操作根本没生效。
修正后的脚本
Get-ChildItem "C:\Users\marich\Desktop\richi\*.sql" -Recurse | ForEach-Object { (Get-Content $_ -Raw) -Replace '"\(', 'Tr' | Set-Content $_ -Encoding UTF8 }
关键修正点
- 正则匹配部分:
"(里的(是正则特殊元字符,必须用反斜杠\转义,所以正确的匹配表达式是'"\(' - 加入
-Raw参数:让Get-Content一次性读取整个文件,避免逐行处理破坏SQL文件的原有换行结构 - 指定
-Encoding UTF8:确保写入文件时编码一致,防止出现乱码问题
内容的提问来源于stack exchange,提问作者malcolm richard
相关产品推荐
相关产品推荐

