为什么“cmd /k”会重置/清除/删除命令历史记录?

为什么“cmd /k”会重置/清除/删除命令历史记录?

有人能解释一下为什么cmd /k会清除我的窗口终端 () 的命令历史记录吗CMD?当我在之前运行批处理文件CMD并将其放在cmd /k行末时,运行后命令历史记录将为空。

如果我cmd /k从脚本中删除,我就可以像往常一样浏览命令历史记录。

是什么原因?

答案1

通过指定cmd为命令,它实际上在“cmd”内启动了“cmd”......它有自己的进程,因此有自己的缓冲区和命令历史记录:

希望我整理的这个简单易懂的插图能有所帮助 在此处输入图片描述

答案2

正如 Fazer87 所说,启动的新 cmd 会话CMD /K有自己的命令历史记录。我想 CMD.EXE 的设计者本可以选择复制父历史记录,但他们选择不这样做。

当您使用 EXIT 返回到父 cmd 会话时,您将取回原始命令历史记录。

相关内容