Estoy buscando un mecanismo para la supresión de la «Terminar el trabajo por lotes? (Y/N)», invitación que recibo cada vez que presione CTRL-C en un programa comenzó a partir de un archivo de proceso por lotes:

archivo de proceso por lotes: jsshell.bat:

@echo off
java -jar build-scripts\contrib\rhino1.7R1.jar

y, a continuación, iniciar en cmd shell por:

> jsshell.bat

que me da una shell que se puede salir de CTRL-C, que después de salir me da la desagradable mensaje

InformationsquelleAutor cellcortex | 2009-08-05

8 Comentarios

  1. 7

    No olvides considerar la posibilidad de trabajar en el problema, evitando los archivos de proceso por lotes.

    • Doskey macros puede reemplazar una línea de lote de secuencias de comandos, como la citada anteriormente. (La carga de los mismos en su Autorun guión).
    • Cscript.exe está disponible en todos los Windows modernos de la máquina y se puede ejecutar JavaScript y VBScript programas desde la línea de comandos
    • Si usted agregar extensiones de archivo para su favorito lenguaje de scripting (Perl, Python, Ruby, etc.) a su variable de entorno PATHEXT y agregar el script en su camino, usted puede ejecutar directamente sin necesidad de una secuencia de comandos por lotes.
    • Todos los puntos buenos. Sin embargo, estoy apuntando para que esto funcione fuera de la caja después de que material es sacado desde el SVN. Para añadir cosas a PATHEXT o de ejecución automática no funciona.
    • Sus usuarios tenido que instalar Java, derecho? Esto es sólo un paso más.
    • Tenga en cuenta también que VBScript ya está en Pathext.
    • Me doy cuenta de que esto es muy viejo, pero me he encontrado con la pregunta, así que aquí está un super útil guía para la aplicación del primer método mencionados anteriormente Doskey es para Windows como Alias es Unix. Bastante le permite replicar el comando Unix ‘alias’. Cosas buenas.
  2. 24

    En este sitio, finalmente encontré una solución efectiva:

    script.cmd < nul
    

    Para no tener que escribir esto cada vez me hizo un segundo script llamado script2.cmd en la misma carpeta con la línea de arriba. Puede que desee revertir los nombres. A mí me funciona, pero probado hasta ahora en XP solo.

  3. 16

    El comportamiento se implementa en el cmd.exe el código fuente, y no es posible apagar sin modificar cmd.exe. Sin embargo, usted puede modificar cmd.exe para no mostrar el mensaje.

    • mierda santa, que es un núcleo duro de revisión. No hay duda de que tiene que ser menos molesto manera?
    • Cuándo fue la última vez que obtuvo su NOOP en? Bueno, no es una buena solución si quería que nadie la use.
    • Gracias, pero de parches cmd.exe es algo que prefiero no le gusta hacer.
    • No funciona en Windows 7; cmd.exe ha cambiado sustancialmente.
    • Fabulich Funciona perfectamente en Windows 7, no engañan a la gente.
    • Aquí está – recuerdo que lo vi en alguna parte – cómo hacerlo en Windows 7: axil.github.io/patching-cmdexe.html

  4. 8

    Sí, hay una forma más elegante que parchear cmd.exe. Acaba de poner de INICIO en la parte frontal de su comando. Para el ejemplo de la línea que podría leerse como: «INICIAR java -jar build-scripts\contrib\rhino1.7R1.jar»

    • Esto parece abrir una nueva ventana de consola y ejecutar dentro de eso.
    • el uso de inicio /B a no conseguir una nueva ventana
    • usted no consigue una nueva ventana de esta manera, pero entonces otro problema se presenta cuando el tipo de «salir» en el original de la ventana de shell, no cerrar.
    • Cómo intuitiva! es difícil de creer cuán terrible es el shell de windows es a veces!
    • Leeds con start /B además de suprimir el símbolo del sistema ‘Terminar el trabajo por lotes» y obtener una nueva ventana de suprimir el Ctrl-C también.
    • la pesadilla. Su un tiempo desde que he metido con esto, tal vez simplemente no funciona en absoluto, que parece ser lo que egor dice así
    • Leeds terminé de parches cmd.exe como se describe en WireGuy del respuesta por encima de

  5. 7

    FWIW, tuberías ‘N’ como la entrada de un comando trabajado conmigo para algunos archivos de proceso por lotes (pero yo en realidad quería la nueva ventana). Tal vez va a funcionar para usted también.

    (echo. N)| cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
    
    • Tenga en cuenta que esto podría causar problemas con los idiomas diferentes del inglés. Bonito solución, aunque.
    • esto funciona muy bien, al menos en windows 7
    • WOW esto funciona gread en mi Win10 de la máquina con la configuración regional FR, inteligente y tan fácil de usar como está memorizado en la historia de la cola como el comando original…en comparación con la revisión de los cmd.exe…
    • este debería haber sido aceptado respuesta
    • Ah y otra cosa, el uso de (echo N) (sin el .) esconde el ^C.
  6. 3

    La modificación de abajo suprime «Terminar el trabajo por lotes? (Y/N)» y la nueva ventana de consola:

    start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
    
    • Se abre una nueva ventana de consola en mi máquina. (Yo estoy en win7, pero dudo que eso hace una diferencia.)
    • Abre 2 nueva consola de windows para mí
    • Mmm, raro. El ejemplo que está funcionando para mí es el lanzamiento de una GWT en modo de host navegador: inicio cmd /c %JAVA_HOME%/bin/java %JAVA_OPTS% -classpath %CLASSPATH% com.google.gwt.dev.GWTShell %GWT_OPTS% Esto abre una ventana de consola cuando usted haga doble clic en el archivo BAT pero – como he mencionado anteriormente – se suprime el Terminar el trabajo por lotes? (Y/N)» en la salida y se suprime el lanzamiento de un suplemento de la ventana de la consola. Tal vez este «rinoceronte» es una aplicación de consola, y por lo tanto se debe ejecutar en una consola?
    • el truco es: start /b /wait %comspec% /c java ....
  7. 3
    @start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
    @exit
    

    esto hará que sólo una ventana

    • Se abrirá una nueva ventana y cerrar la actual. Un poco diferente, sobre todo desde la nueva ventana no tiene ninguna de sus ajustes de tamaño. También, usted probablemente significaba /k desde /c cerrará la segunda ventana cuando se sale del programa, dejando sin ventanas en la final.
    • Cómo agregar ESPERAR con este comando? «start /WAIT CMD /K» no está funcionando
  8. 1

    Probar esta. Se abre una nueva consola, pero bloquea el otro mientras está abierto.

    @echo off
    start /WAIT java -jar build-scripts\contrib\rhino1.7R1.jar
    

Dejar respuesta

Please enter your comment!
Please enter your name here