2012-02-13 31 views
10

Tôi sử dụng windows 7 64bit. Tôi tìm thấy cả hai cmd.exe và powershell không thể giữ lịch sử. Nó có nghĩa là nó bị mất lịch sử lệnh của tôi khi tôi bỏ vỏ.Có công cụ trình bao cửa sổ nào có thể giữ lịch sử không?

Có công cụ nào có thể giúp cmd.exe hoặc powershell ghi nhớ lịch sử không? Tôi cố gắng sử dụng giao diện điều khiển 2. Giao diện điều khiển 2 rất nhỏ và có giao diện tab. Nhưng giao diện điều khiển 2 cũng không thể nhớ lịch sử. Có thể có một giao diện người dùng khác có thể thực hiện việc này.

Trả lời

5

Có một bài tuyệt vời trên Blog Windows PowerShell cung cấp một cách để bảo tồn lịch sử lệnh xuyên suốt các phiên:

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

Các lệnh thích hợp cho xuất khẩu và nhập khẩu lịch sử lệnh là Get-HistoryAdd-History. Thêm thông tin sau vào hồ sơ PowerShell của bạn:

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 
} 

Điều này sẽ bảo tồn lịch sử theo cách bạn vẫn có thể kiểm tra lịch sử cho thời gian bắt đầu và kết thúc và tính thời lượng của mỗi lần.

Cảnh báo mặc dù: Tập lệnh trên sẽ chỉ nhớ lịch sử của cửa sổ PowerShell mới được thoát gần đây nhất. Nếu bạn làm việc với nhiều phiên làm việc cùng một lúc, thì lịch sử của tất cả nhưng một trong số chúng sẽ bị mất.

6

Câu trả lời dưới đây là từ Keith Hill (PowerShell Microsoft MVP) trong câu trả lời của mình cho câu hỏi powershell history: how do you prevent duplicate commands:

BTW nếu bạn muốn tự động lưu này xuất cảnh bạn có thể làm điều này trên 2.0 như sau:

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

Sau đó, để khôi phục khi tải tất cả những gì bạn cần là:

Import-CliXml "$home\pshist.xml" | Add-History 
Các vấn đề liên quan