Our application uses 3 databases, one with client data, and two with configuration data. To prevent destroying client data, the batch file that deletes the client database has first a warning message, and then a pause.
I just called the delete client database on my machine by accident (no loss; it was just a copy), and when the pause prompt came, I just pressed Ctrl+C. Instead of directly terminating, Windows asked me if I want to Terminate batch job.
So I just pressed Ctrl+C again because, IMO, Ctrl+C means Do NOT carry on, and because I still had my fingers on those keys anyway. The batch file just carried on and deleted the database anyway (Meaning I need to restore it, making my PC unusable for two hours).
Why does Windows
CMD.EXE thinks that when I press CTRL+C on the Terminate batch job prompt, that means that I actually want to carry on (in other words, why Ctrl+C in this context means Y, rather then N)?
In Linux, the shell actually does what you are asking it, which is to terminate the script without asking a pointless question. Nobody ever presses Ctrl+C in a DOS box by accident (unless they thought they were in a text editor, rather then a DOS box).