【发布时间】:2017-11-09 04:21:34
【问题描述】:
我正在尝试编写一个 Windows 批处理文件,它将用中间的换行符替换出现的尖括号 (>
我是 PowerShell 新手,但在搜索可能的解决方案时,我发现了 PowerShell 的以下作品:
(get-content input.txt) -replace "><", ">`n<" | set-content output.txt
要在 Windows 批处理中使用它,我需要将它包装在里面
powershell -command "arguments"
所以最后的命令是这样的:
powershell -command "(gc input.txt) -replace '><', '>`n<' | sc output.txt"
但是,这当然不起作用,因为替换文本周围的单引号会导致严重的引号转义字符被逐字处理。
我已经广泛搜索了用于允许识别 PowerShell 转义字符的转义字符的正确组合,并找到了类似的答案in here,但是当我尝试这个建议时,我得到一个“
【问题讨论】:
-
引用问题的通用修复方法是
-EncodedCommand参数,此处描述为stackoverflow.com/a/47173505/478656
标签: windows powershell escaping