Come disabilitare la chiusura automatica del prompt dei comandi al completamento?


18

So che ci sono stati alcuni trucchi con le versioni precedenti di Windows per farlo, ma non sono sicuro su Windows 7.

Se avessi un software che esegue un comando con opzioni che si aprono e chiudono rapidamente una finestra cmd.exe, come posso riconfigurare il prompt dei comandi per NON chiudere automaticamente una volta completata l'attività.

Il trucco qui è che il comando in esecuzione è effettivamente un file batch, include un'istruzione pause alla fine, ma il modo in cui il software sta tentando di eseguire il comando non riesce. Poiché si chiude così rapidamente, non sappiamo quale errore viene restituito poiché si chiude così rapidamente.


Buona domanda, in silenzio avrei anche voluto saperlo perché a volte arrivano patch di gioco / software. I file BAT si chiudono dopo che le istruzioni sono state eseguite senza mettere in pausa e visualizzare i comandi eseguiti per l'utente finale.
Boris_yo,

1
Perché non aprire una finestra di comando, cd in quella directory ed eseguire il batch da lì? Ciò verrebbe eseguito nella stessa finestra cmd non chiusa che rimarrebbe aperta al termine del batch. Questo potrebbe darti alcuni indizi per aiutarti a eseguire il debug.
jdh,


Grazie slhck, indicandomi che quella posizione sembra la possibilità più vicina per ottenere ciò che voglio è nel registro per batfile / cmdfile.
Mitici

Risposte:


8

Invece di eseguire quel .batfile direttamente da Explorer o qualunque altro metodo tu usi, avvia manualmente cmd.exe(se necessario con privilegi elevati) e quindi esegui il tuo .batfile da lì. Quindi al termine della sua esecuzione vedrai ancora tutto l'output ... proprio come ai bei vecchi tempi di DOS. :)


Premi start, digita cmde premi enter, lancerai un prompt dei comandi. Basta trascinare e rilasciare ciò che è necessario eseguire (il tuo script Python o .exe) nelle finestre cmd e premere enter.
JinSnow,

6

Nel tuo file .bat, usa il pausecomando Impedirà la chiusura del file .bat.

Ad esempio, questo è il mio file bat che uso per avviare il servizio MySQL sul mio PC:

net start MySQL
pause

Nota: su Windows 7 avvio questo file .bat dal nome dell'amministratore. Per fare ciò, fai clic con il pulsante destro del mouse sul file .bat e scegli "Inizia dal nome dell'amministratore" dal menu a discesa.


5

È necessario utilizzare l'opzione / k durante la chiamata.

Dettagli utili qui .


1

In .bat scripting, si lascia "exit" alla fine dello script per lasciare aperta la finestra di comando.

Una finestra di comando aperta da uno script si chiude sempre alla fine dello script perché dipende dallo script. L'apertura della finestra e l'esecuzione dello script non chiudono la finestra a meno che non sia stato specificato il comando "exit" alla fine dello script poiché la finestra non dipende dallo script.

Non sembra che ci sia un modo per impedire che una finestra dipendente dallo script venga chiusa al termine dello script in Windows 7. Tuttavia, è possibile che i messaggi di errore vengano registrati altrove. Il programma ha un file di registro? O ci sono voci nei registri di Windows?


0
pause>nul

questo dovrebbe funzionare.


2
Si prega di leggere di nuovo attentamente la domanda. La tua risposta non risponde alla domanda originale. "Il trucco qui è che il comando in esecuzione è effettivamente un file batch, include un'istruzione pause alla fine " ,
DavidPostill

0

Premi starte digita cmde premi enter, lancerai un prompt dei comandi. Basta trascinare e rilasciare ciò che è necessario eseguire (il tuo script Python, .exe ...) nelle finestre cmd e premere Invio. (Se devi eseguire il cmd come amministratore, trova il cmd nel menu Start, fai clic destro su di esso, scegli run as admin) (Funziona su Windows 7)


Si prega di non pubblicare la stessa risposta a più domande. Se le stesse informazioni rispondono davvero ad entrambe le domande, allora una domanda (di solito la più recente) dovrebbe essere chiusa come duplicata dell'altra. Puoi indicarlo votando per chiuderlo come duplicato o, se non hai abbastanza reputazione per quello, alza un flag per indicare che è un duplicato. Altrimenti personalizza la tua risposta a questa domanda e non incollare la stessa risposta in più punti.
David Post

0

Ho avuto questo problema da un po 'di tempo e finalmente ho capito cosa sta succedendo.

Quando si avvia un'attività con l'utilità di pianificazione ed è un file bat, si aprirà la finestra cmd su C: \ WINDOWS \ system32 e NON dove si trova il file bat. Perché? Non ho idea! Quindi quello che dovevo fare è aggiungere la directory con cd nel file bat.

Esempio sotto:

cd c: \ blahblahblah

startmyprogram.exe


La tua risposta crea molta confusione e non sei in grado di stabilire il motivo alla base del problema riscontrato dall'OP. Meglio fare riferimento a questo link superuser.com/help/how-to-answer , ti aiuterà a rispondere.
Rajesh S,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.