我有一个powershell scrip test.ps1:
#if DEBUG
Write-Output "LOG 1"
#endif
Write-Output "LOG 2"
#if DEBUG
Write-Output "LOG 3"
#endif
Write-Output "LOG 4"
我想要一种方法来删除它们之间的代码的DEBUG标记。 我会得到这个:
Write-Output "LOG 2"
Write-Output "LOG 4"
我设法做到了这一点:
$src = "C:\test.ps1"
$out = "C:\test2.ps1"
(Get-Content $src -Raw) -creplace "(?m)^(#if DEBUG)(?s).+(?m)^(#endif)","" | Set-Content -Encoding Default $out
但输出,我只得到这个:
Write-Output "LOG 4"
我认为这是因为该命令删除了第一个标签“#if DEBUG”和最后一个标签“#endif”之间的所有内容。不考虑其他标签。
你能帮助我吗?
答案 0 :(得分:0)