Powershell,自动在某些字符前添加“\”

Powershell,自动在某些字符前添加“\”

我编写了一个脚本,每次抓取 .txt 文件中的每一行,在抓取下一行之前,先执行一个操作。假设这是文本文件:

[Foo]
(Bar)

为了使其更容易理解,假设我的脚本执行以下操作:

Reads the first line in the text file and sets the line as $currentLine; [Foo]
Echo the $currentLine; [Foo]
Reads the next line in the text file and sets the line as $currentLine; (Bar)
Echo the $currentLine; (Bar)

我的问题是我需要"[Foo]"并且"\[Foo\]"必须"(Bar)"正确"\(Bar\)"地使用我的实际的脚本。有没有有效的方法来做到这一点?或者我需要编写一些代码来检查"("")""[""]"然后将其替换为"\(""\)""\[""\]"

答案1

据我所知(我完全不确定我是否能正确判断),您正在寻找该.replace功能。

例如,可以执行以下操作:

$a = "(bob)"
$a.Replace('(',"\(")

返回\(bob

所有替换都可以通过这种方式完成

答案2

如果不替换字符,我就无法将其放在注释中,因此我将其放在答案中。正如我所评论的那样,我一直使用“ren”。即 "REN *(BAR).* *(USA).*"会执行所需的操作。我认为您可能不太清楚您可以轻松地使用通配符重命名。您还可以在文件规范中使用“?”来表示单个字符通配符。

相关内容