2008-11-19 11 views
63

Jestem w trakcie konfigurowania CruiseControl.NET. Problem, który mam, polega na tym, że używam CC jako aplikacji konsolowej i kiedy moja kompilacja zakończy się pomyślnie i zostanie wykonana (przy użyciu exec), uruchomi ją w wierszu poleceń CruiseControl DOS. Używam prostych plików wsadowych do uruchomienia mojej aplikacji, ale uruchomienie jej w tym samym wierszu polecenia, co CC, powoduje, że CC myśli, że kompilacja trwa tak długo, jak długo działa moja aplikacja.Utwórz nowe okno cmd.exe z poziomu innego polecenia cmd.exe

Czy istnieją parametry wiersza poleceń do cmd.exe, które będą odradzać kolejne oddzielne okno zachęty?

Odpowiedz

129

myślę, że to działa:

start cmd.exe 
+2

upewnij się, że sprawdzisz różne opcje startu "start /?" /wait i/I może być przydatny. –

+30

fwiw, nie musisz nawet wstawiać "cmd.exe" po starcie. wystarczy słowo "start". – JustJeff

+6

@JustJeff: Prawdziwa historia. Gdyby to było pole golfowe, wygrałbyś!':)' –

21
start cmd.exe 

otwiera osobne okno

start file.cmd 

otwiera plik wsadowy i wykonuje je w innym poleceniem niezwłocznego

-3

prosty zapis w bat plik

@cmd 

lub

@cmd /k "command1&command2" 
+0

Dzięki za '&' wykonanie wielu poleceń w nowej zachęcie. Chciałbym dodać 'exit', aby zamknąć monit po zakończeniu działania polecenia. – Sylhare

0

Próbowałem też wykonując plik wsadowy uruchamiania procesu demona/serwer na końcu zadania CCNET; Jedynym sposobem, aby CruiseControl tarło niezależny proces asynchroniczny, nie czekając na zakończenie procesu jest:

  1. utworzyć plik wsadowy do uruchomienia procesu demona (Application Server)
  2. użycie Harmonogram zadań, aby uruchomić plik wsadowy jako zadania CCNET (używając schtasks.exe)

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

może trzeba zabić proces na początku ccnet

PS: wybrana odpowiedź za pomocą „start cmd.exe” nie działa; nowy wiersz polecenia jest rzeczywiście tworzony, ale CCNET będzie czekał na ukończenie zarodka cmd.

2
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. 
24

Oto kod jest potrzebne;)

start cmd.exe @cmd /k "Command" 
+0

to pomogło, gdy miałem już otwarte okno poleceń, które jest już otwarte – Moak

+4

Co to jest '@ cmd'? Czy jest na to jakaś dokumentacja? – michas

+1

Ciekawi mnie również "@ cmd". – RodgerTheGreat

13

wystarczy wpisać początek w wierszu polecenia.

spowoduje to otwarcie nowych okien.