Mengapa “cmd / k” mengatur ulang / menghapus / menghapus riwayat perintah?

2

Adakah yang bisa menjelaskan mengapa cmd /kmembersihkan sejarah perintah terminal jendela saya ( CMD). Ketika saya menjalankan file batch dalam sebelumnya CMDdan saya meletakkannya cmd /kdi akhir baris, sejarah perintah akan kosong setelah menjalankannya.

Jika saya menghapus cmd /kdari skrip saya bisa melalui sejarah perintah seperti biasa.

Apa alasannya?

Stefan
sumber

Jawaban:

2

dengan menetapkan cmdsebagai perintah, ia benar-benar meluncurkan "cmd" di dalam "cmd" .. yang memiliki proses sendiri dan oleh karena itu buffer dan perintah sejarahnya sendiri:

Semoga ilustrasi cepat-kotor ini yang saya kumpulkan akan membantu masukkan deskripsi gambar di sini

Fazer87
sumber
1

Seperti yang dikatakan Fazer87, sesi cmd baru yang diluncurkan oleh CMD /Kmemiliki sejarah perintahnya sendiri. Saya kira para desainer CMD.EXE dapat memilih untuk membuat salinan dari sejarah induknya, tetapi mereka memilih untuk tidak melakukannya.

Ketika Anda menggunakan EXIT untuk kembali ke sesi cmd induk, Anda akan mendapatkan kembali sejarah perintah aslinya.

dbenham
sumber
1
Dan, terlebih lagi, jika Anda akan meluncurkan sesi cmd lebih jauh CMD /Klagi (di sebelah kembali ke sesi cmd induk ), maka Anda akan mendapatkan kembali doskey /historydari sesi cmd anak utama ...
Diulang
2
@ JosefZ - Whoa! Itu perilaku yang benar-benar tak terduga dan mengejutkan yang bisa saya konfirmasi. Terimakasih atas infonya. Perilaku yang sama berfungsi untuk sesi WMIC. Luncurkan WMIC, keluarkan beberapa perintah, EXIT, lalu luncurkan sesi WMIC baru dan riwayat sesi lama tersedia. Tetapi jika saya kemudian meluncurkan kembali sesi CMD baru, maka saya mendapatkan sejarah lama itu. Jadi, sejarah terpisah dipertahankan untuk setiap aroma sesi anak. Sangat menarik.
dbenham