Posso eseguire un file batch di Windows senza un prompt dei comandi visibile?

Sommario:

Posso eseguire un file batch di Windows senza un prompt dei comandi visibile?
Posso eseguire un file batch di Windows senza un prompt dei comandi visibile?

Video: Posso eseguire un file batch di Windows senza un prompt dei comandi visibile?

Video: Posso eseguire un file batch di Windows senza un prompt dei comandi visibile?
Video: LA SICUREZZA DI GOOGLE FA ANCORA SCHIFO? 🙄 SFIDA CONTRO APPLE E SAMSUNG - YouTube 2024, Aprile
Anonim
I file batch sono un modo pratico per eseguire una serie di comandi in Windows, ma è comunque possibile eseguirli invisibilmente in background? Continua a leggere per scoprire come.
I file batch sono un modo pratico per eseguire una serie di comandi in Windows, ma è comunque possibile eseguirli invisibilmente in background? Continua a leggere per scoprire come.

La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte basato sulla comunità.

La domanda

Il lettore SuperUser Jake vuole eseguire un file BAT in modo invisibile, scrive:

I have installed a ruby gem called Redcar, which is launched from the command line. When it runs, it steals the shell until it terminates, so I have to create a new shell window to continue doing command line work. The shell I’m using is the GITBash shell from MySysGit.

I found a Redcar.bat file which is meant to launch Redcar as a shortcut, I presume, but I don’t want the extra command prompt window to open whenever I launch the BAT file.

How do I just run the BAT without seeing the prompt?

Esiste una soluzione per il desiderio rapido e furtivo di Jake?

Le risposte

Il collaboratore di SuperUser Afrazier risponde con una combinazione di buone e cattive notizie:

You can’t - executing a batch file with the built in Command Prompt is going to keep a window open until the batch file exits.

What you can do is take steps to make sure that the batch file exits as quickly as possible. If at all possible, modify the batch file to run whatever program with the

start

comando. Di default,

start

ritorna immediatamente senza attendere l'uscita del programma, quindi il file batch continuerà a funzionare e, presumibilmente, uscirà immediatamente. Un paio che con la modifica del collegamento per eseguire il file batch è ridotto a icona e vedrai solo la barra delle applicazioni lampeggiare senza nemmeno vedere una finestra sullo schermo.

Un avvertimento è che se stai eseguendo un programma in modalità console, che sono molti interpreti di script, il file batch attenderà che il programma esca e che usi

start

genererà una nuova finestra della console. Quello che devi fare in questo caso è eseguire la versione basata su Windows dell'interprete invece di quella basata su console - no

start

necessario. Per Perl, correresti

wperl.exe

invece di

perl.exe

. Per Python, lo è

pythonw.exe

invece di

python.exe

. La vecchia distribuzione win32 Ruby che ho scaricato ha

rubyw.exe

che dovrebbe fare la stessa cosa

Un'ultima possibilità è utilizzare uno strumento di terze parti per eseguire il prompt dei comandi con una finestra nascosta. Ho sentito parlare di queste cose ma non le ho mai utilizzate, quindi non so di nulla in particolare a cui puntare.

I lettori lo hanno anche indirizzato a un'altra discussione SuperUser che evidenzia come è possibile utilizzare uno script di Visual Basic per andare oltre la riduzione della visibilità e nascondere completamente il prompt CMD. In quel thread, Harry MC spiega:

Solution 1:

Save this one line of text as file

invisible.vbs

:

CreateObject ("Wscript.Shell"). Esegui "" "" & WScript.Arguments (0) e "" "", 0, False

Per eseguire in modo invisibile qualsiasi programma o file batch, usalo in questo modo:

wscript.exe "C: Wherever invisible.vbs" "C: Some Other Place MyBatchFile.bat"

Per essere in grado di inoltrare / ritrasmettere un elenco di argomenti utilizzare solo due virgolette doppie

CreateObject ("Wscript.Shell"). Esegui "" & WScript.Arguments (0) e "", 0, False

es: Invisible.vbs "Kill.vbs ME.exe"

Soluzione 2:

Utilizzare uno strumento da riga di comando per avviare silenziosamente un processo: Tranquillo.

L'utilizzo di una delle soluzioni di cui sopra, in base al livello di comfort con VBS e strumenti di terze parti o meno, ridurrà al minimo la visibilità della finestra CMD o rimuoverlo completamente.

Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.

Consigliato: