Il mio problema è che in Windows ci sono finestre della riga di comando che si chiudono immediatamente dopo l'esecuzione. Per risolvere questo, voglio che il comportamento predefinito sia che la finestra sia aperta. Normalmente, questo comportamento può essere evitato con tre metodi che mi vengono in mente:
- Inserire una
pause
riga dopo i programmi batch per richiedere all'utente di premere un tasto prima di uscire - Esecuzione di questi file batch o altri strumenti di manipolazione della riga di comando (anche l'avvio del servizio, il riavvio, ecc. Con
net start xy
o qualcosa di simile) all'interno dicmd.exe
(Start - Esegui - cmd.exe) - Eseguendo questi programmi in
cmd /k
questo modo:cmd /k myprogram.bat
Ma ci sono altri casi in cui l'utente:
- Esegue il programma la prima volta e non sa che il programma specificato verrà eseguito nel Prompt dei comandi (Processore di comandi di Windows), ad esempio quando si esegue un collegamento dal menu Start (o da qualche altra parte), OPPURE
- Trova un po 'scomodo eseguire cmd.exe in ogni momento e non ha il tempo / l'opportunità di riscrivere il codice di questi comandi ovunque per mettere una pausa dopo di loro o evitare di uscire esplicitamente.
Ho letto un articolo sulla modifica del comportamento predefinito di cmd.exe
quando lo si apre esplicitamente, con la creazione di una voce AutoRun e la manipolazione del suo contenuto in queste posizioni:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Gli elementi AutoRun sono _String values_
...)
L'ho messo cmd /d /k
come valore per provarlo, ma questo non ha cambiato affatto il comportamento delle cose menzionate sopra ... Ha solo cambiato il comportamento della finestra della riga di comando all'apertura esplicita (Start-Run- cmd.exe).
Quindi, come funziona? Potete darmi qualche idea per risolvere questo problema?
stdout
su base costante che non sono mai state pensate per essere visibili per una buona ragione.