Por que o CTRL-C no prompt “Encerrar trabalho em lote” significa “continuar”?

2

Nosso aplicativo usa 3 bancos de dados, um com dados do cliente e dois com dados de configuração. Para evitar a destruição de dados do cliente, o arquivo em lotes que exclui o banco de dados do cliente tem primeiro uma mensagem de aviso e, em seguida, uma pausa.

Acabei de chamar o excluir banco de dados do cliente na minha máquina por acidente (sem perda; era apenas uma cópia), e quando o aviso de pausa chegou, eu pressionei Ctrl + C . Em vez de terminar diretamente, o Windows me perguntou se eu queria Encerrar o trabalho em lote .

Então eu apenas pressione Ctrl + C novamente porque, IMO, Ctrl + C significa NÃO prossiga , e porque eu ainda tinha meus dedos nessas teclas de qualquer maneira. O arquivo de lote apenas continuou e excluiu o banco de dados mesmo assim (o que significa que preciso restaurá-lo, tornando meu PC inutilizável por duas horas).

Por que o Windows CMD.EXE acha que quando pressiono CTRL + C no prompt Encerrar trabalho em lote , isso significa que eu realmente quer continuar (em outras palavras, porque Ctrl + C neste contexto significa Y , em vez de N )?

No Linux, o shell realmente faz o que você está pedindo, que é terminar o script sem fazer uma pergunta inútil. Ninguém pressiona Ctrl + C em uma caixa do DOS por acidente (a menos que eles achem que estão em um editor de texto, e não em uma caixa do DOS).

    
por Sebastien Diot 10.04.2014 / 11:12

0 respostas