如何禁止cmd.exe中的“终止批处理作业”
我正在寻找一种抑制“终止批处理作业?(是/否)”邀请的机制,只要我按CTRL-C如何禁止cmd.exe中的“终止批处理作业”
批处理文件:jsshell.bat:程序从一个批处理文件启动
> jsshell.bat
这使我可以退出一个shell:
@echo off
java -jar build-scripts\contrib\rhino1.7R1.jar
,然后通过启动它CMD壳通过CTRL-C退出后给我的令人讨厌的消息
不要忘了考虑,避免批处理脚本解决该问题。
- Doskey macros可以代替上面引用的单行批处理脚本。 (加载它们在你的Autorun脚本。)
- Cscript.exe提供各种现代化的Windows计算机上,可以通过命令行
- 运行JavaScript和VBScript程序如果您添加的文件扩展名您最喜爱的脚本语言(Perl,Python和Ruby等)添加到您的PATHEXT环境变量中,并将脚本添加到您的路径中,您可以直接执行它们而无需批处理脚本。
所有的好点,但我的目标是在SVN检出东西后开箱即用,所以添加东西到PATHEXT或自动运行不起作用 – cellcortex 2009-11-18 22:30:27
你的用户必须安装Java,对吗?这仅仅是一个步骤 – 2009-11-23 17:14:23
@cellcortex:还要注意VBScript已经在Pathext中 – Joey 2011-03-16 21:02:00
This site给出了如何修补cmd.exe不显示消息的说明。
圣洁的废话,这是一些硬核心修复。当然,必须有一个不那么突兀的方式? – 2009-08-05 17:29:49
你最后一次获得NOOP的时间是? 好的,如果您希望其他人使用,不是一个很好的解决方案。 – WireGuy 2009-08-05 18:13:08
谢谢,但补丁cmd.exe是我宁愿不喜欢做的事情。 – cellcortex 2009-08-16 14:23:11
是的,比修补cmd.exe更优雅。只需将START放在命令前面即可。为了您的例子中,行就应该是这样的:“开始Java的罐子建设的脚本\的contrib \ rhino1.7R1.jar”
这似乎打开一个新的控制台窗口,并在其中运行。 – cellcortex 2009-10-12 21:53:12
使用start/B不会得到一个新窗口 – 2014-04-14 08:41:17
@JonnyLeeds你不会得到一个新的窗口,但随后会出现另一个问题 - 当你在原来的shell窗口中键入'exit'时,它不会关。 – egor83 2014-06-25 05:49:02
下修改抑制“终止批处理作业(Y/N)?” 和新控制台窗口:
start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
在我的机器上打开一个新的控制台窗口。 (我在win7上,但我怀疑这是否有所作为。) – 2009-10-16 21:28:31
为我打开2个新的控制台窗口 – cellcortex 2009-10-20 21:12:12
嗯,很奇怪。这个例子对我来说就是在托管模式浏览器中启动GWT: start cmd/c%JAVA_HOME%/ bin/java%JAVA_OPTS%-classpath%CLASSPATH%com.google.gwt.dev.GWTShell%GWT_OPTS% 当你双击BAT文件时,它会启动一个控制台窗口,但是 - 正如我上面提到的 - 禁止Terminate批处理作业? (Y/N)“,并禁止启动一个额外的控制台窗口。也许这个”rhino“是一个控制台应用程序,因此必须在控制台上运行? – Elmo 2009-10-21 09:01:05
FWIW,管道'N'作为一个命令的输入工作我的一些批处理文件(但我真的想要新的窗口)。也许它也适用于你。
(echo. N)| cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
请记住这可能会导致问题与拉与英语不同的语言。不错的解决方法,但。 – 2015-12-12 17:45:14
这个作品至少在Windows 7上工作得很好 – 2016-09-17 16:05:54
WOW这个工程在我的Win10机器上运行,语言环境为FR,智能且用户友好,因为它被记忆在历史队列中作为原始命令......与修补cmd.exe相比。 – dmidz 2017-02-07 22:37:01
@start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
@exit
这将使只有一个窗口
它将打开一个新窗口并关闭当前窗口。稍有不同,特别是因为新窗口没有任何尺寸设置。另外,你可能意思是'/ k',因为'/ c'会在程序退出时关闭第二个窗口,最后没有窗口。 – jpmc26 2013-07-20 00:07:00
如何用此命令添加WAIT? “启动/等待CMD/K”不起作用 – 2016-10-19 10:39:13
试试这个。它确实打开了一个新的控制台,但它在打开时锁定了另一个控制台。
@echo off
start /WAIT java -jar build-scripts\contrib\rhino1.7R1.jar
在这个site,我终于找到了一个有效的解决方案:
script.cmd < nul
为了不因为我已在上面的线相同的文件夹叫script2.cmd
第二个脚本,每次输入了这一点。你可能想要改变名字。适用于我,但只在XP上进行测试。
FWIW,这个附加应用程序通过一个设置解决了问题,并带来更多的好东西。 https://code.google.com/p/clink/自从关闭后,无法添加为答案。 – Macke 2013-04-03 06:47:46
参见http://superuser.com/questions/35698/how-to-supress-terminate-batch-job-y-n-confirmation – 2013-09-10 09:43:33