Hoe sluit ik het opdrachtregelvenster na het uitvoeren van een batchbestand?

Ik heb een batchbestand. Nadat het is uitgevoerd, d.w.z. alle opdrachtregels zijn uitgevoerd, blijft het venster cmd.exeopen. Ik zou het echter graag willen sluiten direct nadat het batchbestand zijn werk heeft gedaan.

Tot nu toe heb ik geprobeerd de opdracht exitin het batchbestand te gebruiken om het cmd-venster te sluiten (ik heb ook een snelkoppeling op het bureaublad), maar het lijkt niet te werken:

p>

tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit

Antwoord 1, autoriteit 100%

Het zou automatisch moeten sluiten, als dat niet het geval is, betekent dit dat het vastzit op het eerste commando.

In jouw voorbeeld zou het automatisch moeten sluiten (zonder de exit) of expliciet met de exit. Ik denk dat het probleem is dat het eerste commando dat je uitvoert niet correct terugkeert.

Als tijdelijke oplossing kunt u proberen met

start "" tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B

Antwoord 2, autoriteit 24%

Je code is absoluut in orde. Het heeft alleen “exit 0” nodig voor een schonere exit.

tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
 exit 0

Antwoord 3, autoriteit 14%

Ik heb de starten exittoegevoegd die werken. Zonder beide werkte het niet

start C:/Anaconda3/Library/bin/pyrcc4.exe -py3 {path}/Resourses.qrc -{path}/Resourses_rc.py
exit

Antwoord 4, autoriteit 12%

Als je maar één commando helemaal alleen hoeft uit te voeren en je hoeft niet te wachten, probeer dan “cmd /c”, dit werkt voor mij!

cmd /c start iexplore "http://your/url.html"

cmd /c betekent het uitvoeren van een commando en dan afsluiten.

U kunt de functies van uw schakelaars leren door uw opdrachtprompt in te typen

anycmd /?

Antwoord 5, autoriteit 8%

%Gestart programma of opdracht% | taskkill /F /IM cmd.exe

Voorbeeld:

notepad.exe | taskkill /F /IM cmd.exe

Helaas, als je andere cmd-vensters open hebt staan, worden deze ook uitgeschakeld.


Antwoord 6, autoriteit 5%

Gebruikte dit om Xming te starten, plaatste het bat-bestand in de Start->Startup-directory en nu heb ik xming draaiend bij het opstarten.

start "" "C:\Program Files (x86)\Xming\Xming.exe" -screen 0 -clipboard -multiwindow

Antwoord 7

Voor het sluiten van het cmd-venster, vooral na het beëindigen van de console van weblogic of JBOSS-appservers met Ctrl+C, gebruik ik de opdracht ‘call‘ in plaats van ‘start‘ in mijn batchbestanden. Mijn startWLS.cmdbestand ziet er dan als volgt uit:

call [BEA_HOME]\user_projects\domains\test_domain\startWebLogic.cmd

Na Ctrl+C (en ‘Y’ antwoord) wordt het cmd-venster automatisch gesloten.


Antwoord 8

Ik kwam deze vraag tegen tijdens het zoeken in hetzelfde onderwerp, maar dan voor Windows
Dus als iemand zich afvraagt ​​hoe het hier kan, dan is het wel

echo | set /p=Your Text

Uitvoer:

Your Text

Ik heb het gebruikt om gegevens op het klembord op te slaan, dus het was nodig om tekst bij te snijden
Het zag er zo uit

echo | set /p=Text| clip

Antwoord 9

Het antwoord van Max Lorens, momenteel het minst gestemde antwoord, is het enige dat werkt voor mijn specifieke script.

Ik geloof dat voor complexe scripts die worden uitgevoerd en pauzes bevatten, zoals “timeout /t 4 /nobreak”, zijn idee het beste is. Gewoon geforceerd doden van cmd.exe kan/zal systemen verknoeien die achtergrondprocessen in cmd.exe-containers uitvoeren, terwijl die opdracht alleen zichtbare vensters met cmd.exe in de titel zal doden.

Ter referentie was het:

REM EXECUTE TASK KILL TO CLOSE CMD PROGRAM.-
wmic Path win32_process Where "Caption Like 'cmd%.exe'" Call Terminate

Zet het in de laatste coderegel van uw batchbestandsprogramma.


Antwoord 10

REM EXECUTE TASK KILL TO CLOSE CMD PROGRAM.-
wmic Path win32_process Where "Caption Like 'cmd%.exe'" Call Terminate

PD: ZET HET IN DE LAATSTE CODEREGEL VAN UW BATCHBESTANDSPROGRAMMA.-

Other episodes