有没有办法让Write-Debug在不打印DEBUG的情况下打印空白行: 例如:
Write-Debug`n
写 - 调试`n#附加参数或命令
Write-Debug`n
输出:>
DEBUG:
DEBUG:
答案 0 :(得分:4)
不幸的是没有。这个“debug:”前缀由powershell主机控制,是powershell.exe或powershell_ise.exe,不可配置。
更新:您可以做一些脏事,比如写出一些退格。
write-debug "`b`b`b`b`b`b`b " -debug
答案 1 :(得分:4)
您可以通过创建这样的函数Write-Debug
来实现此目的:
PS> function Write-Debug {
[cmdletbinding()]
param($message)
if (!$message) {
write-host; return
}
$cmd = get-command -commandType cmdlet Write-Debug
& $cmd $message
}
PS> Write-Debug 'this is test'; Write-Debug; Write-Debug '3rd row'
DEBUG: this is test
DEBUG: 3rd row
如果使用与cmdlet同名创建新函数,则隐藏原始cmdlet,因为PowerShell将首先尝试查找名为Write-Debug
的函数。如果没有,PowerShell会尝试查找具有该名称的cmdlet。 (通常PowerShell尝试查找的第一种命令是别名,而不是函数)。