Cmd.exe komut geçmişini oturumlar arasında tut?


Yanıtlar:


22

PowerShell'i kullanmaya geçin ve geçmişi etkinleştirmek için aşağıdaki sitedeki talimatları izleyin:

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

Alternatif olarak, cmd.exe'de, oturumun sonunda yazdığınız şeyi göstermek için oturumunuzun sonunda "doskey / history" komutunu kullanabilirsiniz, ancak bir sonraki oturuma gerçekten yükleme yapmanın bir yolu yoktur.


6
Bunu + 1 'e tereddüt ettim çünkü "PowerShell'i kullanmaya geç", konsolu ne tür bir şey için kullandığınıza bağlı olarak göründüğü kadar kolay olmamakla birlikte, bilgi doğru soooooooooo;)
Shinrai

2
Kabul. Onu bırakmak için tereddüt ettim ama bulabildiğim tek gerçek cevap bu. Daha önce sahip olduğum bir iş istasyonunda benzer bir şey elde etmeye çalıştım, ancak cmd.exe için mevcut kalıcı bir tarih mekanizması yok:
Hyppy

Bu yazdığınız komutların listesini tutacak, ancak doe unutmayın DEĞİL Klavyede yukarı tuşuna vurduğunda gelecek komutların listesini değiştirebilir. Başka bir deyişle, "doskey" işlevselliğini etkilemez.
Mark

Cmd'de çalışan bazı komutların PowerShell'de aynı şekilde çalışmadığına dikkat edilmelidir, mvn install `-Dmaven.test.skip = true, satırdan önce gösterildiği gibi bir geri dönüş gerektirir
Drenai

62

İkisinin de PowerShell'e geçmesini gerektiren 2 yol buldum.

  1. Kalıcı geçmişi ve çok daha fazlası ile gelişen Clink'i yükleyin cmd.exe. Sadece kurun ve sonra cmdnormal şekilde açın .

  2. Ayrı bir program olan TCC / LE ücretsiz sürümünü tekrar kurun cmd.exe.


5
Sistem genelinde değiştirmeye karşı biraz endişeliyim cmd.exeama bunun iyi bir cevabı ve clink de bir enjeksiyon modunu destekliyor.
Lorenz Lo Sauer

4
Vay, Clink muhteşem.
Chris Weber,

4
Clink mükemmeldir. Onunla yer değiştirdi cmd, sorun olmadı, çok mutlu oldum.
Albay Panik

2
Clink harika!
Hoang Huynh

3
Bu kabul edilen cevap olmalı. Çünkü soruyu sorduğun şey bu .. !! Bu, başka herhangi bir alternatif uygulamayı kullanmaktan daha iyidir.
Samitha Chathuranga

12

Tarihi kaydetmek küçük bir iş akışıdır - işte bunu yapmanın daha az "ağır" bir yolu (harici kütüphaneler yok).

Geçmişinizi ayarlamak için bir yarasa / cmd dosyası oluşturun, bu durumda MyEnvironment.cmd olarak adlandırdım:

doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls

Sonra bunu "Başlat-> Çalıştır" 'dan çalıştırın (bunun için bir takma ad da ayarlayabilirsiniz):

cmd.exe /K C:\MyEnvironment.cmd

Ne zaman bir oturumu kapatsam, "bırak" a basarım - ya da seansın ortasındaki geçmişi kaybetmekten korkuyorsam "kaydet" i tıklayın. Tarihin içindeki birşeyi görmek istersem, sadece "ÖRNEK KEYWORD" a basarım.


@ Dave_thompson_085 'in yorumuna göre, anahtarı AutoRunkullanmak istemiyorsanız bu özellik iyi çalışıyor /K. Kayıt defteri anahtarını doğru ayarladıysanız, .cmdveya .batolması gerekmiyorsa %AppData%, aynı konumda olabilir.

%AppData%Konumu kullanırsanız cmd'nin toplu iş dosyanızı "Dolaşım" klasöründe (AppData kökü yerine) arayacağına dikkat edin.

AutoRunCMD özelliği hakkında daha fazla bilgi : https://superuser.com/a/302553/333316


Ne $gve $tne için?

@ Chinggis6 a $gekler >ve $tbir komut ayırıcıdır.
Superole

Tamam ah @Superole, g daha reater ve t erminate ancak kullanmamayı neden >ve &&doskey takma doğrudan karakterler?

@ Chinggis6 çünkü takma isim oluşturma komutu kesilecektir. Ardından komut yorumlayıcısı şunu kastettiğinizi varsayar: ilk önce doskey quit=doskey /historymakro oluşturmanın çıktısını bir günlük dosyasına (hiçbir şey ya da bir hata mesajı) yürütmek ve saklamak; daha sonra pencereyi kapatın (her şeyi atarak). -Bu karakterlerden kaçabildin ^, sanırım. Gibi ^>^>ve ^&(... ve evet, sadece bir ve işareti gerekir)
Superole

1
Bunun yerine açık bir /kkullanabilirsiniz AutoRun superuser.com/a/302553/333316
dave_thompson_085

2

Kullandığım cygwin . Ayrıca Linux'un sahip olduğu ancak Windows'ta olmayan bazı işlevsellikler sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.