Create a new cmd.exe window from within another cm

2019-01-10 20:39发布

问题:

I am in the process of setting up CruiseControl.NET. The problem I am having is that I am running CC as a console application and when my build completes successfully and executes (using exec) it launches it within the CruiseControl DOS prompt. I am just using simple batch files to launch my app but having it run within the same prompt as CC is causing CC to think the build continues as long as my app runs.

Are there command line parameters to cmd.exe that will spawn another separate prompt window?

回答1:

I think this works:

start cmd.exe


回答2:

here is the Code you Need ;)

start cmd.exe @cmd /k "Command"


回答3:

start cmd.exe 

opens a separate window

start file.cmd 

opens the batch file and executes it in another command prompt



回答4:

Simply type start in command prompt:

start

This will open up new cmd window.



回答5:

START "notepad.exe"
echo Will launch the notepad.exe application
PAUSE

To make any cmd file type all you have to do is save the contents as .bat I.e.
@echo
TITLE example.bat
PAUSE
taskkill/IM cmd.exe
Make that into a "example.bat" file and save it open it and run.


回答6:

I also tried executing batch file that run daemon process/server at the end of CCNET task; The only way to make CruiseControl spawn an independent asynchronous process WITHOUT waiting for the end of process is:

  1. create a batch file to run the daemon process (server application)
  2. use task scheduler to run the batch file as CCNET task (using schtasks.exe)

    schtasks.exe /create /F /SC once /ST 08:50 /TN TaskName /TR "c:/path/to/batchFileName.bat"
    
    • 08:50 is the HH:MM time format

you might need to kill the process at the start of ccnet

PS: the selected answer using "start cmd.exe" does not work; a new command prompt is indeed spawned, but CCNET will wait for the spawned cmd to finish.



回答7:

You can just type these 3 commands from command prompt:

  1. start

  2. start cmd

  3. start cmd.exe



回答8:

simple write in your bat file

@cmd

or

@cmd /k "command1&command2"