
Ich bin einer Anleitung zum Erstellen einer Batchdatei gefolgt, mit der ich den Start eines Programms um einige Sekunden verzögern kann. (Ich wollte kein Drittanbietertool verwenden.)
Die Sache ist, dass ich dieses Cmd-Fenster X Sekunden lang nicht sehen möchte, bis das Programm gestartet wird. Irgendwelche Ideen?
Hier ist der Code, den ich in der .bat-Datei verwende:
@ECHO OFF
TIMEOUT /t 3 > nul
START "" "C:\program.exe"
Antwort1
Dieses Visual Basic-Skript macht drei Dinge.
~ Ruft das aktuelle Verzeichnis ab, in dem .VBS
es gespeichert ist, und nimmt einen Dateinamen.
~ Führt die angegebene Datei mit Administratorrechten aus. (fragt nicht nach UAC)
~ Führt die Datei im Hintergrund aus, ohne die von Ihnen erwähnte CMD.
bElevate = False
if WScript.Arguments.Count > 0 Then If WScript.Arguments(WScript.Arguments.Count-1) <> "|" then bElevate = True
if bElevate Or WScript.Arguments.Count = 0 Then ElevateUAC
REM run the following script with admin privilages. start point.
Set fso = CreateObject("Scripting.FileSystemObject")
GetTheParent = fso.GetParentFolderName(Wscript.ScriptFullName)
Set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run GetTheParent & ("\CUSTOMNAMEOFBAT.bat")
WScript.Sleep 500
REM the above script will be run with admin privilages. end point.
Sub ElevateUAC
sParms = " |"
If WScript.Arguments.Count > 0 Then
For i = WScript.Arguments.Count-1 To 0 Step -1
sParms = " " & WScript.Arguments(i) & sParms
Next
End If
Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "wscript.exe", WScript.ScriptFullName & sParms, , "runas", 1
WScript.Quit
End Sub
Kopieren/Einfügen des folgenden Codes und Speichern unter .VBS
. Legen Sie das . vbs
-Skript in dasselbe Verzeichnis wie Ihr .bat
und ändern Sie „CUSTOMNAMEOFBAT“ (am Ende von Zeile 11) in den Namen Ihres .bat
.