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 exit
in 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 start
en exit
toegevoegd 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.-