8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

PowerShell 用问号替换特殊字符?

Mah_Bar 1月前

10 0

我们编写了一个脚本来循环遍历所有文件并删除某个字符串。该字符串不包含特殊字符,脚本会删除该字符串并将其替换为空字符串,就像我们一样...

我们编写了一个脚本来循环遍历所有文件并删除某个字符串。该字符串不包含特殊字符,脚本确实会删除该字符串并将其替换为我们所希望的空字符串。但是,文件中有一些特殊字符。脚本不会只删除我们指定的字符串并保留文件中的所有其他内容,而是用问号 \'?\' 替换这些特殊字符。我们尝试了 PowerShell -replace 和 .Replace 函数,效果相同。两者都用 \'?\' 替换此特殊字符

这是我们运行的脚本:

$packageFiles = Get-ChildItem -Path E:\SSIS\Projects -Recurse -Include *.dtsx 
foreach ($file in $packageFiles)
{
    (Get-Content $file.PSPath) |
    Foreach-Object { $_.Replace('somestring','')} |
    Set-Content $file.PSPath
}

这是之前文件中带有特殊字符的行的样子:

enter image description here

之后:

enter image description here

之前有一个不间断空格字节顺序标记特殊字符“ZWNBSP”。之后用问号“?”替换了该特殊字符。

是否有人有解决方案,可以让我们仍然使用 PowerShell 的替换功能之一,但不会将特殊字符替换为问号,从而破坏我们的文件?

帖子版权声明 1、本帖标题:PowerShell 用问号替换特殊字符?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Mah_Bar在本站《powershell》版块原创发布, 转载请注明出处!
最新回复 (0)
返回
作者最近主题: