powershell写 - 调试空白行

时间:2010-09-12 21:27:03

标签: powershell

有没有办法让Write-Debug在不打印DEBUG的情况下打印空白行: 例如:

Write-Debug`n

写 - 调试`n#附加参数或命令

Write-Debug`n

输出:>

DEBUG:

DEBUG:

2 个答案:

答案 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尝试查找的第一种命令是别名,而不是函数)。