Comment puis-je supprimer le “résilier lot de travail” dans cmd.exe
Je suis à la recherche d'un mécanisme pour la suppression de la "mettre fin à job? (Y/N)" invitation que je reçois chaque fois que je presse CTRL-C dans un programme de démarrage à partir d'un fichier de commandes:
fichier de commandes: jsshell.chauve-souris:
@echo off
java -jar build-scripts\contrib\rhino1.7R1.jar
puis départ sur cmd shell par:
> jsshell.bat
ce qui me donne un shell qui peut être quitté par CTRL-C, qui après avoir quitté me donne le message méchant
- FWIW, cette application permet de résoudre le problème par l'intermédiaire d'un paramètre, et apporte beaucoup plus de goodies. code.google.com/p/clink vous ne Pouvez pas ajouter de réponse car il est fermé.
- Voir aussi superuser.com/questions/35698/...
Vous devez vous connecter pour publier un commentaire.
Ne pas oublier de tenir compte de contourner le problème en évitant les scripts batch.
À ce site, j'ai enfin trouvé une solution efficace:
Pour ne pas avoir à taper ce à chaque fois que j'en ai fait un deuxième script appelé
script2.cmd
dans le même dossier avec la ligne ci-dessus. Vous pouvez inverser les noms. Fonctionne pour moi, mais testé à ce jour sur XP.Le comportement est mis en œuvre dans le cmd.exe le code source, et qu'il n'est pas possible de le désactiver sans le modifier cmd.exe. Cependant, vous pouvez modifier cmd.exe pour ne pas afficher le message.
Oui, il existe une façon plus élégante de le corriger cmd.exe. Mettez juste COMMENCER en face de votre commande. Pour votre exemple, la ligne se lire comme suit: "DÉMARRER java -jar build-scripts\contrib\rhino1.7R1.jar"
start /B
en plus de la suppression de l'invite 'mettre fin à des lots de travail et l'obtention d'une nouvelle fenêtre, vous supprimer le Ctrl-C trop.FWIW, de la tuyauterie 'N' comme entrée pour une commande a fonctionné pour moi certains fichiers de commandes (mais en fait, je voulais une nouvelle fenêtre). Peut-être qu'il va travailler pour vous aussi.
(echo N)
(sans le.
) se cache le^C
.La modification ci-dessous supprime "mettre fin à job? (Y/N)" et la nouvelle fenêtre de la console:
start /b /wait %comspec% /c java ....
cela permettra de faire une seule fenêtre
/k
depuis/c
va fermer la fenêtre lorsque le programme se termine, vous laissant avec pas de windows à la fin.De l'essayer. Il n'ouvrez une nouvelle console, mais il verrouille l'autre alors que c'est ouvert.