2013-10-03 94 views
1

我正在玩PowerShell,我發現自己在運行命令之前經常輸入cls。或者更糟糕的是,我運行一個命令,意識到來自其他東西的輸出使得導航,運行cls和重新運行我的darn命令變得非常痛苦。 在運行每個命令之前是否有辦法清除前一個命令的輸出?顯然,如果這可以通過一個命令或簡單的命令來切換,那將是理想的,但是任何方法都行。 :) 另外,我正在玩PS 3,ISE和PowerGUI。有沒有辦法在每個命令之前讓PowerShell屏幕自行清除?

回答

4

知道這是舊的,但認爲我把這篇文章也給其他人看 -

一招我用的是簡單地把「CLS」正如我在PowerShell中的編輯屏幕的第一行(在我的情況,使用PowerShell ISE)。然後,每次運行我的腳本時,ISE中的PowerShell控制檯都會被清除,從而節省了時間,因此只顯示最近的運行。

我並不建議在生產腳本中留下「cls」,但它有助於在ISE中進行迭代測試,在ISE中基於腳本輸入不斷檢查PowerShell控制檯窗口中的輸出。

+1

這是一個腳本的好方法。對於臨時命令,還可以在前綴cls; –

0

有一個函數,提示,只要PowerShell提示輸入命令就會執行。在我的系統(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命令放在上面腳本的頂部。

+0

當我這樣做,它只是清除每個命令的輸出。所以,這是行不通的。 –

+0

我明白了。我以爲你只是想要一個指向哪條路。爲了實現這一點,您可以在cls之前放置一個讀主機。然後你輸入你的命令,輸出將會顯示出來,你可以按回車清除輸出並輸入你的下一個命令。如果你想通過修改提示的想法,你可以想出其他一些方法來做到這一點。 –

0

在PowerShell中,爲了清除屏幕,您可以鍵入Clear-Host ;,它的別名,cls;並且清楚;或其等同的[System.Console] :: Clear();.

相關問題