tags:

views:

23

answers:

2

Is there a way to get Write-Debug to print a blank line without printing DEBUG: Ex:

Write-Debug `n

Write-Debug `n # additional parameters or command here

Write-Debug `n

Output :>

DEBUG:

DEBUG:

+2  A: 

Unfortunately not. This "debug:" prefix is controlled by the powershell host, be that powershell.exe or powershell_ise.exe and is not configurable.

x0n
A: 

You could do this by creating function Write-Debug like this:

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

If you create new function with the same name as a cmdlet, you hide the original cmdlet, because PowerShell will first try to find function with name Write-Debug. If there is none, PowerShell tries to find cmdlet with that name. (generally the first type of command that PowerShell tries to find is alias, not a function).

stej