Kjøre en CMD eller BAT i stille modus

Hvordan kan jeg kjøre en CMD- eller .bat-fil i stille modus? Jeg ønsker å forhindre at CMD-grensesnittet vises for brukeren.

Inkluder frasen

@echo off

øverst i bat-skriptet.

Kommentarer (1)
Løsning

Jeg har foreslått i StackOverflow-spørsmålet en måte å kjøre en batchfil i bakgrunnen (ingen DOS-vinduer vises).

Det burde svare på spørsmålet ditt.

Her er det:


Fra det første skriptet kaller du det andre skriptet med følgende linje:

wscript.exe invis.vbs run.bat %*

Egentlig kaller du et vbs-script med:

  • [path]\navnet på skriptet ditt
  • alle de andre argumentene som skriptet trenger (%*)

Deretter kaller invis.vbs skriptet ditt med Windows Script Host Run()-metoden, som tar:

  • intWindowStyle : 0 betyr "usynlige vinduer"
  • bWaitOnReturn : false betyr at det første skriptet ikke trenger å vente på at det andre skriptet skal bli ferdig.

Se spørsmålet for hele invis.vbs-skriptet:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
                                                         ^
                             means "invisible window" ---| 

Oppdatering etter tilbakemelding fra Tammen:

Hvis du er i en DOS-sesjon og ønsker å starte et annet skript "i bakgrunnen", kan det være nok med en enkel /b (som beskrevet i samme nevnte spørsmål):

Du kan bruke start /b second.bat for å starte en annen batchfil asynkront fra den første som deler vinduet til den første.

Kommentarer (4)

Prøv SilentCMD. Dette er et lite gratisprogram som kjører en batchfil uten å vise ledetekstvinduet.

Kommentarer (0)