Answers:
这是您需要的代码:
start cmd.exe @cmd /k "Command"
@cmd
做什么?是否有一些文档?
@
禁止通常会在提示符下显示的直接输出,但命令仍将执行。
^
。:(有什么方法可以解决?
您可以在命令提示符下键入以下3条命令:
start
start cmd
start cmd.exe
简单地在您的bat文件中写入
@cmd
要么
@cmd /k "command1&command2"
&
在新提示中执行多个命令。我喜欢添加,exit
以便在命令完成运行后关闭提示。
我还尝试执行在CCNET任务结束时运行守护进程/服务器的批处理文件。使CruiseControl产生独立的异步进程而无需等待进程结束的唯一方法是:
使用任务计划程序将批处理文件作为CCNET任务运行(使用schtasks.exe)
schtasks.exe /create /F /SC once /ST 08:50 /TN TaskName /TR "c:/path/to/batchFileName.bat"
您可能需要在ccnet开始时终止该进程
PS:使用“启动cmd.exe”选择的答案无效;确实会产生一个新的命令提示符,但是CCNET将等待所产生的cmd完成。
DETACHED_PROCESS
(即没有控制台)。 。如果它以创建标志CREATE_NEW_CONSOLE
(如CMD的start
用法)开头,则基本DLL总是分配一个新的控制台,而不是继承父控制台。