Как я могу подавить "завершить задание" в cmd.exe [закрыто]


Я ищу механизм для подавления " завершить пакетное задание? (Y/N)" приглашение, которое я получаю всякий раз, когда я нажимаю CTRL-C в программе, запущенной из пакетного файла:

пакетный файл: jsshell.летучая мышь:

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

а затем запустить его на cmd shell by:

> jsshell.bat

что дает мне оболочку, которую можно выйти с помощью CTRL-C, которая после выхода дает мне неприятное сообщение

8   51  

8 ответов:

Не забудьте рассмотреть возможность обойти проблему, избегая пакетных сценариев.

  • макросы Doskey можно заменить однострочные пакетные скрипты, как тот, который цитируется выше. (Загрузите их в свой Автозагрузка сценарий.)
  • Cscript.exe доступно на каждой современной машине Windows и может запускать программы JavaScript и VBScript из командной строки
  • Если вы добавляете расширения файлов для ваших любимых сценариев язык (Perl, Python, Ruby и др.) в переменную среды PATHEXT и добавить сценарий к вашему пути, вы можете выполнить их непосредственно без пакетного сценария.

в этом сайт, Я наконец нашел эффективное решение:

script.cmd < nul

чтобы не вводить это каждый раз, когда я сделал второй сценарий под названием script2.cmd в той же папке, что и строка выше. Возможно, вы захотите изменить имена. Работает для меня, но проверено до сих пор только на XP.

поведение реализовано в cmd.исходный код exe, и невозможно отключить без изменения cmd.исполняемый. Однако вы можете изменить команду cmd.exe, чтобы не показывать сообщение.

Да, есть более элегантный способ, чем исправление cmd.исполняемый. Просто поставьте старт перед своей командой. Для вашего примера строка будет выглядеть так: "запустите java-jar build-scripts\contrib\rhino1.7R1.банку"

FWIW, piping ' N ' в качестве входных данных для команды работал со мной для некоторых пакетных файлов (но я действительно хотел новое окно). Может быть, это сработает и для вас тоже.

(echo. N)| cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar

приведенная ниже модификация подавляет " завершить пакетное задание? (Y/N)"и новое окно консоли:

start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
@start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
@exit

это сделает только одно окно

попробуйте это. Он открывает новую консоль, но блокирует другую, пока она открыта.

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