我正在设置 CruiseControl.NET。我遇到的问题是我将 CC 作为控制台应用程序运行,当我的构建成功完成并执行(使用 exec)时,它会在 CruiseControl DOS 提示符下启动它。我只是使用简单的批处理文件来启动我的应用程序,但让它在与 CC 相同的提示符下运行导致 CC 认为只要我的应用程序运行,构建就会继续。
是否有命令行参数cmd.exe
会产生另一个单独的提示窗口?
我正在设置 CruiseControl.NET。我遇到的问题是我将 CC 作为控制台应用程序运行,当我的构建成功完成并执行(使用 exec)时,它会在 CruiseControl DOS 提示符下启动它。我只是使用简单的批处理文件来启动我的应用程序,但让它在与 CC 相同的提示符下运行导致 CC 认为只要我的应用程序运行,构建就会继续。
是否有命令行参数cmd.exe
会产生另一个单独的提示窗口?
我认为这有效:
start cmd.exe
这是您需要的代码:
start cmd.exe @cmd /k "Command"
只需start
在命令提示符下键入:
start
这将打开新的cmd
窗口。
start cmd.exe
打开一个单独的窗口
start file.cmd
打开批处理文件并在另一个命令提示符下执行它
START "notepad.exe"
echo Will launch the notepad.exe application
PAUSE
要制作任何 cmd 文件类型,您只需将内容保存为 .bat,即
@echo
TITLE example.bat
PAUSE
taskkill/IM cmd.exe
把它变成一个“example.bat”文件,保存它,然后打开它并运行。
您可以从命令提示符处键入以下 3 个命令:
start
start cmd
start cmd.exe
简单的写入你的bat文件
@cmd
或者
@cmd /k "command1&command2"
如果我们简单地使用start
命令或者start cmd.exe
它打开 cmd。
如果要打开相同的命令提示符窗口;
start "Command Prompt"
我还尝试在 CCNET 任务结束时执行运行守护进程/服务器的批处理文件;使 CruiseControl 生成一个独立的异步进程而不等待进程结束的唯一方法是:
使用任务调度程序将批处理文件作为 CCNET 任务运行(使用 schtasks.exe)
schtasks.exe /create /F /SC once /ST 08:50 /TN TaskName /TR "c:/path/to/batchFileName.bat"
您可能需要在 ccnet 开始时终止该进程
PS:使用“start cmd.exe”选择的答案不起作用;确实生成了一个新的命令提示符,但 CCNET 将等待生成的 cmd 完成。
launch_stack.bat 将打开 2 个窗口来运行您的 alices.bat 和 bobs.bat
start alices.bat
start bobs.bat