我们的应用程序使用 3 个数据库,一个用于客户端数据,两个用于配置数据。为防止破坏客户端数据,删除客户端数据库的批处理文件首先显示警告消息,然后暂停。
我只是不小心在我的机器上调用了删除客户端数据库(没有丢失;它只是一个副本),当暂停提示出现时,我只是按了+ 。Windows 没有直接终止,而是询问我是否要终止批处理作业。CtrlC
所以我只是再次按下Ctrl+C因为,IMO,Ctrl+C意味着不要继续,因为无论如何我的手指仍然放在这些键上。批处理文件只是继续并删除了数据库(意味着我需要恢复它,使我的电脑无法使用两个小时)。
为什么 WindowsCMD.EXE
认为当我在终止批处理作业提示上按CTRL+C时,这意味着我实际上想要继续(换句话说,为什么+在这种情况下表示Y,而不是N)?CtrlC
在 Linux 中,shell 实际上会执行您所要求的操作,即在不提出毫无意义的问题的情况下终止脚本。没有人会意外地在 DOS 框中按Ctrl+ C(除非他们认为他们在文本编辑器中,而不是在 DOS 框中)。