2012-02-13 4 views
10

윈도우 7 64 비트를 사용합니다. cmd.exe와 powershell이 ​​기록을 보관할 수 없다는 것을 알았습니다. 그것은 쉘을 종료 할 때 명령 기록을 잃어버린 것을 의미합니다.역사를 유지할 수있는 Windows 쉘 도구가 있습니까?

cmd.exe 또는 powershell에서 기록을 기억하는 데 유용한 도구가 있습니까? 콘솔 2를 사용하려고합니다. 콘솔 2는 작고 탭 인터페이스가 있습니다. 그러나 콘솔 2는 역사를 기억하지 못합니다. 어쩌면 다른 프론트 엔드가 이것을 할 수 있습니다.

답변

5

이 세션에서 명령 기록을 보존하는 방법을 제공하는 Windows PowerShell을 블로그에 훌륭한 포스트는 다음과 같습니다

http://blogs.msdn.com/b/powershell/archive/2006/07/01/perserving-command-history-across-sessions.aspx

수출하고 명령 역사를 가져 오기위한 관련 명령은 Get-HistoryAdd-History이다. 당신의 PowerShell 프로필에 다음을 추가

Register-EngineEvent PowerShell.Exiting { 
    Get-History | Export-Csv $HOME\pshist.csv 
} | Out-Null 

if (Test-Path $Home\pshist.csv) { 
    Import-Csv $HOME\pshist.csv | Add-History 
} 

이 여전히 시작 시간과 종료 시간에 대한 기록을 조사 할 수있는 방법으로 역사를 보존하며, 각각의 기간을 계산한다.

경고 : 위의 스크립트는 가장 최근에 종료 한 PowerShell 창의 기록 만 기억합니다. 동시에 여러 셸 세션에서 작업하는 경우 하나의 세션을 제외한 모든 세션의 기록이 손실됩니다.

6

아래의 대답은 질문 powershell history: how do you prevent duplicate commands에 그의 대답에 키스 힐 (PowerShell을 마이크로 소프트 MVP) 출신 :

: BTW 당신은 ​​자동과 같이 2.0에서이 작업을 수행 할 수 있습니다 종료에이를 저장하려면

그런 다음로드 당신이 필요로하는 모든에 복원하려면

Register-EngineEvent PowerShell.Exiting { 
    Get-History -Count 32767 | Group CommandLine | 
    Foreach {$_.Group[0]} | Export-CliXml "$home\pshist.xml" } -SupportEvent 
은 다음과 같습니다

Import-CliXml "$home\pshist.xml" | Add-History 
관련 문제