有没有办法让PowerShell屏幕在每个命令之前清除?

时间:2013-10-03 15:24:21

标签: powershell powershell-v3.0 powergui

我正在玩 PowerShell ,我发现自己在运行命令之前不断输入cls。或者更糟糕的是,我运行一个命令,意识到其他东西的输出使导航变得困难,运行cls,然后重新运行我的命令。 有没有办法在运行每个命令之前清除上一个命令的输出?显然,如果可以用命令或简单的东西切换它,那将是理想的,但无论什么都可行。 :) 另外,我正在玩 PS 3 ISE PowerGUI

4 个答案:

答案 0 :(得分:4)

知道这个年龄较大,但我想我会把这个传给其他任何人 -

我使用的一个技巧是简单地将“cls”作为我的PowerShell编辑器屏幕中的第一行(在我的例子中,使用PowerShell ISE)。然后每次运行我的脚本时,ISE中的PowerShell控制台都会被清除,从而节省了时间,因此只显示了我最近的运行。

我不建议在生产脚本中保留“cls” - 但它对于ISE中的迭代测试很有帮助,您可以根据脚本输入在PowerShell控制台窗口中不断检查输出。

答案 1 :(得分:0)

只要PowerShell提示输入命令,就会执行一个函数prompt。在我的系统(PS v3,ISE)上,内置脚本是

$host.ui.rawui.WindowTitle = ($host.ui.rawui.WindowTitle -split ":")[0] + ": $pwd"
$(if (test-path variable:/PSDebugContext) { 
    '[DBG]: ' 
  } else { 
    '' 
  }) + 
'PS' + 
$(if ($nestedpromptlevel -ge 1) { ">>>" } else { "> "})

您可以替换或修改此脚本。例如,您可以将cls命令放在上面脚本的顶部。

答案 2 :(得分:0)

在PowerShell中,为了清除屏幕,你可以输入Clear-Host;,它的别名,cls;清楚或其等价物[System.Console] :: Clear();。

答案 3 :(得分:0)

当您的Powershell(或相应的CMD)在PSEXEC会话中运行时,CLS,Clear和Clear-Host不起作用。