2013-10-03 1 views
1

저는 PowerShell을 가지고 놀고 있습니다. 명령을 실행하기 전에 계속해서 cls를 입력하고 있습니다. 또는 더 나쁜 것은, 나는 명령을 실행하고, 다른 것들의 결과물이 항해하고, cls를 실행하고, 나의 darn 명령을 재실행하는 것이 고통 스럽다는 것을 깨닫는다. 각 명령을 실행하기 전에 이전 명령의 출력을 지우는 방법이 있습니까? 명령이나 간단한 명령으로 전환 할 수 있다면 분명히 이상적입니다. :) 또한 PS 3, ISE 및 PowerGUI로 게임하고 있습니다.각 명령 전에 PowerShell 화면을 지우는 방법이 있습니까?

답변

4

이 나이를 알고,하지만 난 다른 사람보고 함께이 통과 거라고 생각 - 내 경우에는 (내가 사용

한 트릭은 단순히 내 PowerShell을 편집기 화면에서 첫 번째 줄 "CLS"를 넣어하는 것입니다 , PowerShell ISE 사용). 그런 다음 스크립트를 실행할 때마다 ISE 내의 PowerShell 콘솔이 지워지고 시간이 절약되므로 가장 최근의 실행 만 표시됩니다.

프로덕션 스크립트에 "cls"를 남겨 둘 것을 권장하지 않지만 스크립트 입력을 기반으로 PowerShell 콘솔 창에서 출력을 지속적으로 확인하는 ISE에서 반복 테스트에 유용합니다.

+1

이것은 스크립트에 대한 좋은 접근 방법입니다. ad hoc 명령의 경우에는 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 전에 읽기 호스트를 넣을 수 있습니다. 그런 다음 명령을 입력하면 출력이 표시되고 enter를 누르면 출력을 지우고 다음 명령을 입력합니다. 잠깐 생각을 수정하는 것으로 생각한다면, 다른 방법으로 생각할 수도 있습니다. –

0

PowerShell에서 화면을 지우려면 Clear-Host라는 별칭 인 cls; 명확한; 또는 이와 동등한 [System.Console] :: Clear() ;.