Soru Küresel, kalıcı bir CMD tarihi var mı?


Bazen bir CMD komutunun tam sözdiziminin nasıl göründüğünü unutuyorum ve sonra kendi CMD geçmişimi aramak istiyorum. Açıkça, aynı oturumda, yukarı ve aşağı ok tuşları ile göz atabilirsiniz, ancak eski CMD oturumlarının geçmişi nedir? Bir dosya var mı, tarihin yazıldığı bir günlük mi yoksa hepsi dijital Nirvana'ya mı gidiyor?

Teşekkürler!


81
2017-12-17 18:06


Menşei


Çıkmadan önce otomatik olarak bir kaydı kaydetmek için çıkış komutunu ele geçirebilirsiniz: doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $* Ancak, her bir komut istemi oturum başlangıcında bunu otomatik olarak nasıl çalıştıracağınızı anlamanız gerekir. Not: Günlük dosyasının yolunun yazılabilir olduğundan emin olun. C:\  yönetici olmayan bir komut istemi için yazılabilir değil. - ADTC
@ADTC: AutoRun 'her başlangıç' işlemelidir: superuser.com/a/302553/333316 veya stackoverflow.com/a/17405182/2868801 - dave_thompson_085


Cevaplar:


Doğal olarak değil, check out: http://mridgers.github.io/clink/ cmd.exe'yi çok daha üretken yapar. Proje sayfasından teklif özellikleri:

Powerful Bash-like line editing from GNU's Readline library.
Superior path completion (TAB).
Paste from clipboard (Ctrl-V).
Support for the completion of executables/commands, and environment variables.
Undo/Redo (Ctrl-_ or Ctrl-X, Ctrl-U)
Improved command line history.
Persists across sessions.
Searchable (Ctrl-R and Ctrl-S).
History expansion (e.g. !!, !<string>, and !$).
Scriptable completion using Lua.

60
2018-03-13 08:24



klink her şeyi çözdü - Still.Tony
Windows'da varsayılan olarak dahil etmek için herhangi bir plan var mı? : D - Jaime Hablutzel
Kurabilir misin ~/.inputrc klink kullanırken (Konsolu veya başka bir şey kullanıp kullanamayacağını biliyor musun?) - Mike H-R
Anlaşılan, doktora görün github.com/mridgers/clink/blob/master/docs/clink.md. - Baris Demiray
... takma adlar hariç. clink kinler doskey; yıllarca süren ve dikkatlice atanmış takma adlarınızı unutun. Bu yüzden onu kullanmayı bıraktım. tüm özellikleri özledim. - w17t


Hayır, bir oturum bittiğinde Windows komut istemi geçmişi kaydedilemez.


19
2017-12-17 18:11



gerçek için? Bunu nasıl biliyorsun? Sizi sorguladığım için üzgünüm, sanırım haklısınız ama lanet şeyi programlamadıkça nasıl biliyorsunuz?) - raoulsson
Tamam, yeniden söyleyeyim :-) Windows komut yorumlayıcısı ("cmd.exe"), kaydetme / dışa aktarma / saklama geçmişi için herhangi bir destek sağlamaz, eğer yaparsa, Microsoft bunu belgelemedi ve hiç kimse o ana kadar onu bulmak için. Tabii ki, Sean'ın önerdiği gibi etrafta çalışmayı deneyebilirsin, ama bunun için yerleşik bir destek yok (ya da öyle görünüyor). - Massimo
Mevcut oturumun geçmiş listesini görmek için F7 tuşuna basabilirsiniz. - jftuga
MEVCUT oturum burada anahtar kelimedir. - Massimo
Geçmişi çalıştırarak görebilir / kaydedebilirsiniz doskey.exe /history (F7 kısayolunun BTW'den geldiği yer de burasıdır) ancak bir sonraki oturumda onu tekrar yüklemenin bir yolu yoktur. - Coderer


Massimo, komut istemi geçmişinizin oturumlar arasında kalıcı olmadığından doğrudur. Yazarak komut istemini kapatmadan önce bunu elle kapabilirsiniz. doskey / geçmiş> history.txt

Ya da ... kullanabilirsin Güç kalkanı CMD sorgunuz olarak ve takip edin bu gönderi Geçmişinizi oturumlar arasında sürdürmek için.


14
2017-12-17 19:52





Kullanabilirsiniz çın.

Clink, özgün Windows kabuğu cmd.exe dosyasını, zengin tamamlama, geçmiş ve satır düzenleme özellikleri sağlayan GNU Readline kitaplığının güçlü komut satırı düzenleme özellikleriyle birleştirir.

Klink yüklemek için en kolay yolu kullanıyor chocolatey. Chocolatey'i kurduktan sonra, yazarak klink kurabilirsiniz

choco install clink

Bir dahaki sefere cmd.exe'yi başlattıktan sonra, oturumları tarih boyunca depolamalıdır.


10
2017-08-14 06:37



Sonunda vermeye karar verdi Chocolatey Bu yazı nedeniyle bir atış. Kurulumunki kadar kolaydı brew MacOS'ta. Ve şimdi Windows'da Bash benzeri bir komut istemi var! - TranslucentCloud


Mevcut geçmişi dosyaya kaydetmek mümkün,

`$ doskey /history > somefile.txt`

Ama tarih olarak geri yüklemek için bir yolu yok gibi görünüyor. Tüm satırları yüklemek ve yürütmek için yalnızca komut satırı argümanı kullanmak mümkündür.

cmd.exe /K somefile.txt

, doskey makrolarının listesini yüklemek için yararlı olabilir. Bu çağrı bir kısayol dahilinde olabilir, böylece her seferinde yazmanız gerekmez; bu referansın bu yaklaşıma dair bazı ek bilgileri var.

Benzer bir soru var Süper kullanıcı dahil olmak üzere bazı alternatifler getirmek çın@RobertBak tarafından önerildiği gibi.


6
2018-03-23 13:15



Hmm, tarihe geri yüklemek için, onu bir .bat dosyasına kaydetmeniz ve çalıştırmanız gerekmez mi? - Pacerier
@Pacerier, komutları tekrar çalıştırırsa bunları kesinlikle geçmişe dahil eder, ancak büyük olasılıkla büyük yan etkileri olur. Kabuğun içinden bazı dosyaları sildiğinizi ve daha sonra kabukların dışına uzun ve acı verici bir süreçle yeniden yarattığınızı düşünün. Geçmişi prosedürünüzle yeniden yüklemek, dosyaları tekrar beklenmedik bir şekilde siler. - mMontu
"Çalıştır" ın, tüm bu komutları yürütme anlamına geldiğinin farkında mısınız? Onları sadece tarihe yüklemiyor, ama aslında sisteminizde bazı etkiler yaratıyor. - ADTC


Komuta Tarihi:     Bir komut geçmişini etkinleştirmek için (yukarı ve aşağı     aşağı ok tuşları) sadece komutta doskey'i çalıştır     Komut istemi. Örneğin, 100 öğenin bir komut geçmişi oluşturmak için:

doskey /listsize=100

ref:https://users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php


1
2018-02-14 13:08



Bu soruya cevap vermiyor mu? - Chopper3
Windows 10'da çalışmıyor. - TranslucentCloud