Batchdatei im Hintergrund starten?
Hallo, ich möchte als kleine Erinnerung für mich das ich mein PC ausmachen soll erst eine vbs Datei (links) geschrieben, die mich mit einer Meldung erinnert auszumachen. Die bat Datei (rechts) soll dann nach 3 Stunden die vbs Datei ausführen, was auch funktioniert.
ich wollte die bat Datei jetzt in den Autostraßen packen, leider öffnet sich aber immer das Fenster in dem der Timer runterzählt (bild2) und wenn man das ausversehen schließt geht auch der Timer aus.
meine Frage: kann man die bat Datei im Hintergrund starten so das sie nicht angezeigt oder ausversehen geschlossen werden kann?
6 Antworten
Ich glaube über die Aufgabenplanung konnte man Fenster auch minimiert starten lassen. Alternativ könntest du auch mal schauen, wenn es dir nur darum geht eine Nachricht auszugeben, das geht glaube auch mit der Aufgabenplanung direkt.
[System.Reflection.Assembly]::LoadWithPartialName ist veraltet!
Anwendungen, die Assemblys mit dieser Methode laden, werden durch Upgrades dieser Assemblys beeinträchtigt.
In Powershell nutzt man zur Registrierung einer Klasse Add-Type
powershell "Add-Type -a System.Windows.Forms;[System.Windows.Forms.MessageBox]::Show('Du musst mal wieder Pause machen','Pause','OK','Warning')"
viele Wege Führen nach Rom...
lege die folgende VBScript-Datei einfach in den Autostartordner .
Demo.vbs
'hier Wartezeit einstellen
Stunden=3
Minuten=0
'sleep arbeitet in Millisekunden! (also Sekunden mal 1000)
WScript.Sleep (Stunden*3600 + Minuten*60) *1000
res=Msgbox("Ausmachen! ",vbOKonly+vbExclamation+vbSystemModal, "Erinnerung")
Das gleiche nur mit einer Batch als Initiator im Autostart :
@echo off
set "Stunden=3"
set "Minuten=0"
set /a "sekunden=Stunden*3600 + Minuten*60"
rem vbs erzeugen und ausführen
echo WScript.Sleep %Sekunden% *1000 >"%temp%\myMsg.vbs"
echo res=Msgbox("Ausmachen! ",vbOKonly+vbExclamation+vbSystemModal, "Erinnerung") >>"%temp%\myMsg.vbs"
start "" "%temp%\myMsg.vbs"
Das Problem bei obiger Lösung ein Hintergundprozess verbraucht Systemresourcen.
Besser wäre es Du ein kleines vbsript mit einer MSGBox, als Aufgabe in die Aufgabenplanung einträgst: Nach Start oder Anmeldung Verzögerung 3 Stunden...
das verbraucht keine extraresourcen



Danke, habe es jetzt mit der Batchdatei im Autostart gemacht. Funktioniert jetzt danke
warte mal 5 min ich glaube ich errinere mich dran.
in Test.bat
cd "C:\users\paulk\Documents"
start Erinnerung.vbs
exit
in Errinerung.vbs
wscript.sleep 10800
x=msgbox("Erinnerung",1+16,"Ausmachen")
ich gehe davon aus das du das eher so haben willst, dü könnst start der .bat datei auch eine verknüpfung erstellen, der vbscript wartet 10,8 sekunden und wirft dir diese msgbox entgegen, es sollte funsen aber ich hab bestimmt 10 jahren nicht mehr aktiv geproggt also bitte nicht steinigen.
sollte ich mich vertan haben und das cmd fenster geht nicht sofort zu sondern sagt beliebiege taste drücken um zu schliessen versuch exit /s statt exit
Ich bin kein Profi auf dem gebiet aber du kannst mal start /silent in den code schreiben anstatt start.. weiß aber nicht sicher ob das da funktioniert..
Habe es probiert jetzt wird nur die Meldung nicht mehr angezeigt möchte nur das cmd Fenster silent haben
Wäre auch mein Vorschlag. In der Aufgabenplanung einfach eine neue Aufgabe anlegen, Trigger auf "Bei Anmeldung" mit einer Verzögerung von 3 Stunden einstellen und Aktionen halt das VB-Script hinterlegen.
Oder falls es mit dem VB-Script nicht klappt, dann bei Programm "powershell.exe" und bei Argumente das hier: