Hoe kan ik een batchbestand uitvoeren zonder een "opdrachtvenster" te starten?
Kan ik op Windows XP een batch (.bat of .cmd) bestand uitvoeren, via een snelkoppeling, zonder een “zwart venster”?
Kan ik op Windows XP een batch (.bat of .cmd) bestand uitvoeren, via een snelkoppeling, zonder een “zwart venster”?
Sla het volgende op als wscript, bijvoorbeeld hidecmd.vbs na het vervangen van “testing.bat” door de naam van uw batchbestand.
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
De tweede parameter van oShell.Run
is intWindowStyle
waarde die het uiterlijk van het venster van het programma aangeeft en de nulwaarde is voor verborgen venster.
De referentie is hier http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
Dit is slechts een vereenvoudiging van Shaji’s antwoord. U kunt uw batch-script uitvoeren via een VBScript (.vbs) script zoals dit:
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Dit zal uw batch-bestand uitvoeren zonder dat er een opdrachtvenster wordt getoond.
Om de “Use Windows Scripting” antwoorden uit te breiden (wat ik het beste vind omdat het al ingebouwd is) is hier hoe je het doet door een enkel wrapperscript te gebruiken en de naam van het “echte” batchbestand als parameter door te geven. Extra parameters worden doorgegeven aan het batch-bestand.
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
Dus b.v. sla het bovenstaande bestand op als NoShell.vbs
ergens op en roep dan:
NoShell.vbs c:\foo\my_batch_file.bat
. Tenslotte, als je dit wilt uitvoeren vanuit een plaats die het .vbs-bestand niet begrijpt (zoals een “Externe Hulpmiddelen” in Visual Studio), zul je C:\Windows\System32\wscript.exe
willen aanroepen met het vbs-bestand als eerste parameter en je batch-bestand als tweede.
Free GPL open source “Create Hidden Process” http://www.commandline.co.uk/chp/
Microsoft Security Essentials, en waarschijnlijk zullen de meeste andere virus/malware scanners de executable, chp.exe, als een virus behandelen omdat het elk programma dat u opgeeft verbergt voor het weergeven van een venster of een taakbalkknop, net zoals virussen dat doen.
Het is geen virus. Het verbergt het doelproces niet dat het bijvoorbeeld in de taakbalk verschijnt. En natuurlijk is de broncode inbegrepen, zodat je kunt zien dat het erg klein is en niets anders doet dan het programma uitvoeren dat je het geeft.
Je hoeft er niet eens op te vertrouwen dat de inbegrepen chp.exe echt is gebouwd vanuit die bron. Je kunt de meegeleverde chp.exe weggooien en zelf compileren vanuit de broncode, en alle benodigde tools zijn zelfs gratis en downloadbaar.
Je kunt ook gewoon een snelkoppeling maken naar het .bat of .cmd bestand en dan met de rechtermuisknop klikken op de snelkoppeling, Eigenschappen, tabblad Snelkoppeling, Uitvoeren: Geminimaliseerd. Gebruik dan in geplande taken de snelkoppeling in plaats van het .bat/.cmd-bestand direct. Dat voorkomt dat er een venster verschijnt, maar er verschijnt nog steeds een taakbalkknop.
U kunt windowscripting gebruiken zoals AutoIt .
Als voorbeeld, schrijf dit gewoon naar de AutoIt script editor. Het is vrij eenvoudig
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Als u het in een lus wilt uitvoeren,
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
compileer het als .exe - en u bent klaar.
Op dezelfde manier, in AutoHotkey :
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
Eenvoudige oplossing, zonder gebruik te maken van extra programma’s.
Veel succes!
Gebruik Hidden Start (kost $20)
Hidden Start - Voer toepassingen en batchbestanden uit zonder een Consolevenster of UAC Prompt
Console toepassingen en batchbestanden worden regelmatig uitgevoerd bij het opstarten van Windows of in een schema. Het grootste ongemak hiervan is dat elke applicatie een consolevenster opent dat op het scherm flikkert. Hidden Start (of Hstart) is een lichtgewicht hulpprogramma voor de opdrachtregel waarmee u console-applicaties en batch-bestanden kunt uitvoeren zonder enig venster op de achtergrond, UAC-privilege-verhoging kunt afhandelen onder Windows 7 en Vista, meerdere commando’s parallel of synchroon kunt starten en nog veel meer.