Pertanyaan Apakah ada riwayat CMD global yang persisten?


Kadang-kadang saya lupa bagaimana sintaks yang tepat dari perintah CMD terlihat dan kemudian saya ingin mencari sejarah CMD saya sendiri. Jelas, dalam sesi yang sama, Anda dapat menjelajahinya dengan tombol panah atas dan bawah tetapi bagaimana dengan sejarah sesi CMD sebelumnya? Apakah ada file, log sejarah yang ditulis ke atau apakah itu semua pergi ke Nirvana digital?

Terima kasih!


81
2017-12-17 18:06




Anda dapat membajak perintah keluar untuk menyimpan log secara otomatis sebelum keluar: doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $* tetapi Anda harus mencari tahu cara melakukan ini secara otomatis pada setiap startup sesi perintah cepat. PS: Pastikan jalur file log dapat ditulis. C:\  tidak dapat ditulis untuk perintah non-admin. - ADTC
@ADTC: AutoRun harus menangani 'setiap startup': superuser.com/a/302553/333316 atau stackoverflow.com/a/17405182/2868801 - dave_thompson_085


Jawaban:


Bukan aslinya tetapi periksa: http://mridgers.github.io/clink/ , membuat cmd.exe jauh lebih produktif. Mengutip fitur dari halaman proyek:

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.

59
2018-03-13 08:24



denting memecahkan semuanya - Still.Tony
Ada rencana untuk memasukkannya secara default di Windows? : D - Jaime Hablutzel
Bisakah Anda mengatur ~/.inputrc saat menggunakan denting? (dan apakah Anda tahu apakah itu dapat digunakan Konsol atau apa pun?) - Mike H-R
Rupanya, lihat dokter github.com/mridgers/clink/blob/master/docs/clink.md. - Baris Demiray
... kecuali alias. clink membenci doskey; lupakan semua alias Anda yang sudah lama dan ditugasi dengan cermat. itu sebabnya saya berhenti menggunakannya. meskipun saya kehilangan semua fitur. - w17t


Tidak, Windows command prompt history tidak dapat disimpan ketika sesi berakhir.


19
2017-12-17 18:11



nyata? bagaimana kamu tahu ini? Maaf sudah menanyai Anda, saya kira Anda benar tetapi bagaimana Anda bisa tahu kecuali Anda memprogramnya?) - raoulsson
Ok, biarkan saya ulangi :-) Interpreter perintah Windows ("cmd.exe") tidak memberikan dukungan untuk menyimpan / mengekspor / menyimpan riwayat, dari, jika ya, Microsoft tidak mendokumentasikannya dan tidak ada yang pernah bisa untuk menemukannya. Tentu saja Anda dapat mencoba untuk mengatasinya, seperti yang disarankan Sean, tetapi ada (atau tampaknya) tidak ada dukungan bawaan untuk ini. - Massimo
Anda dapat menekan F7 untuk melihat daftar riwayat sesi saat ini. - jftuga
ARUS sesi adalah kata kunci di sini. - Massimo
Anda dapat melihat / menyimpan riwayat dengan menjalankan doskey.exe /history (Itu juga tempat pintas F7 berasal, BTW) tetapi tidak ada cara untuk memuatnya kembali di sesi berikutnya. - Coderer


Massimo benar bahwa sejarah command prompt Anda tidak bertahan di seluruh sesi. Anda bisa secara manual mengambil ini sebelum menutup prompt Anda dengan mengetik doskey / history> history.txt

Atau ... Anda bisa menggunakannya PowerShell sebagai prompt CMD Anda, dan ikuti posting ini untuk mempertahankan sejarah Anda di seluruh sesi.


14
2017-12-17 19:52





Kamu bisa memakai denting.

Clink menggabungkan shell Windows asli cmd.exe dengan fitur pengeditan baris perintah yang kuat dari pustaka GNU Readline, yang menyediakan kemampuan penyelesaian, sejarah, dan pengeditan baris yang kaya.

Cara termudah untuk memasang klink adalah menggunakan cokelat. Setelah Anda menginstal cokelat, Anda dapat menginstal denting dengan mengetik

choco install clink

Mulai dari saat Anda memulai cmd.exe, seharusnya menyimpan riwayat di seluruh sesi.


10
2017-08-14 06:37



Akhirnya memutuskan untuk memberi Chocolatey tembakan karena posting ini. Instalasi semudah seperti brew di macOS. Dan sekarang saya memiliki prompt perintah Bash-like di Windows! - TranslucentCloud


Dimungkinkan untuk menyimpan riwayat saat ini untuk file,

`$ doskey /history > somefile.txt`

Tetapi tampaknya tidak ada cara untuk memuatnya kembali sebagai sejarah. Hanya mungkin untuk menggunakan argumen baris perintah untuk memuat dan menjalankan semua baris,

cmd.exe /K somefile.txt

, apa yang bisa berguna untuk memuat daftar doskey macro. Doa ini dapat dimasukkan dalam cara pintas sehingga Anda tidak perlu mengetiknya setiap kali; referensi ini memiliki beberapa info tambahan tentang pendekatan ini.

Ada pertanyaan serupa di Superuser yang membawa beberapa alternatif, termasuk denting, seperti yang disarankan oleh @RobertBak.


6
2018-03-23 13:15



Hmm, untuk memuatnya kembali ke dalam sejarah, bukankah Anda hanya perlu menyimpannya ke file .bat dan menjalankannya? - Pacerier
@Pacerier menjalankan perintah lagi pasti akan memasukkan mereka kembali dalam sejarah, tetapi kemungkinan besar akan memiliki efek samping yang besar. Bayangkan bahwa Anda menghapus beberapa file melalui shell dan kemudian membuat ulang mereka di luar shell melalui proses yang panjang dan menyakitkan. Memuat ulang riwayat melalui prosedur Anda akan secara tidak terduga menghapus file lagi. - mMontu
@Pacerier Anda menyadari "menjalankannya" berarti mengeksekusi semua perintah itu, bukan? Ini tidak hanya memuat mereka ke dalam sejarah, tetapi sebenarnya membiarkan mereka memiliki beberapa efek pada sistem Anda. - ADTC


Sejarah Komando:     Untuk mengaktifkan sejarah perintah (yang dapat diakses menggunakan dan     tombol panah bawah) hanya menjalankan doskey pada perintah     cepat. Misalnya, untuk membuat sejarah perintah dari 100 elemen:

doskey /listsize=100

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


1
2018-02-14 13:08



Itu tidak menjawab pertanyaan sama sekali ?? - Chopper3
Tidak berfungsi di Windows 10. - TranslucentCloud