Kan jeg kjøre en Windows-batchfil uten synlig kommandoprompt?

Innholdsfortegnelse:

Kan jeg kjøre en Windows-batchfil uten synlig kommandoprompt?
Kan jeg kjøre en Windows-batchfil uten synlig kommandoprompt?

Video: Kan jeg kjøre en Windows-batchfil uten synlig kommandoprompt?

Video: Kan jeg kjøre en Windows-batchfil uten synlig kommandoprompt?
Video: УБИЛИ ЕГО БРАТА БЛИЗНЕЦА, ПЕРЕПУТАВ С НИМ - Близнец - Все серии - Детектив - YouTube 2024, April
Anonim
Batchfiler er en praktisk måte å utføre en rekke kommandoer på i Windows, men er det allikevel å drive dem usynlig i bakgrunnen? Les videre finn ut hvordan.
Batchfiler er en praktisk måte å utføre en rekke kommandoer på i Windows, men er det allikevel å drive dem usynlig i bakgrunnen? Les videre finn ut hvordan.

Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Spørsmålet

SuperUser leser Jake ønsker å kjøre en BAT-fil usynlig, skriver han:

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?

Er det en løsning for Jake's smarte raskt ønske?

Svarene

SuperUser-bidragsyter Afrazier reagerer med en kombinasjon av dårlige og gode nyheter:

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

kommando. Som standard,

start

returnerer umiddelbart uten å vente på at programmet skal gå ut, så batchfilen vil fortsette å løpe, og antagelig gå ut av umiddelbart. Par som med å endre snarveien din for å kjøre batchfilen minimeres, og du vil bare se oppgavelinjen uten å se et vindu på skjermen.

En advarsel mot dette er at hvis du kjører et konsollmodusprogram, hvor mange skriptolkere er, vil batchfilen vente på at programmet skal gå ut og bruke

start

vil gyte et nytt konsollvindu. Det du trenger å gjøre i dette tilfellet, kjøres den Windows-baserte versjonen av tolken i stedet for den konsollbaserte en - nei

start

nødvendig. For Perl ville du kjøre

wperl.exe

i stedet for

perl.exe

. For Python er det

pythonw.exe

i stedet for

python.exe

. Den gamle Win32 Ruby distribusjonen jeg har lastet ned har

rubyw.exe

som skal gjøre det samme.

En endelig mulighet er å bruke et tredjepartsverktøy for å kjøre kommandoprompten med et skjult vindu. Jeg har hørt om slike ting, men aldri brukt dem, så jeg vet ikke noe spesielt for å peke på deg.

Lesere pekte også på en annen SuperUser-tråd som fremhever hvordan du kan bruke et Visual Basic-skript for å gå utover å minimere synligheten og rett og slett skjule CMD-spørringen. I den tråden forklarer Harry MC:

Solution 1:

Save this one line of text as file

invisible.vbs

:

CreateObject ("Wscript.Shell"). Kjør "" "" & WScript.Arguments (0) &"" "", 0, False

For å kjøre et program eller en batchfil usynlig, bruk den slik:

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

For å også kunne sende på / relé, bruker en liste over argumenter kun to dobbelte sitater

CreateObject ("Wscript.Shell"). Kjør "" og WScript.Arguments (0) &"", 0, False

for eksempel: Invisible.vbs "Kill.vbs ME.exe"

Løsning 2:

Bruk et kommandolinjeverktøy til å stille en prosess stille: Stille.

Ved å benytte noen av de ovennevnte løsningene, basert på komfortnivået ditt ved hjelp av VBS og tredjepartsverktøy eller ikke, vil det i det minste redusere synligheten til CMD-vinduet eller fjerne det umiddelbart.

Har du noe å legge til forklaringen? Lyde av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.

Anbefalt: