Forum: PC-Programmierung Batch Datei nach Windows Start ausführen


von Lola (Gast)


Lesenswert?

Hallo

Wie kann ich es anstellen, dass eine Batch Datei gestartet wird, sobald 
Windows (7) vollständlig geladen wurde?
Ich habe sie momentan einfach in den Autostart geschoben und in der 
Datei ein timeout 30 eingefügt, sodass am Anfang gleich mal 30 Sekunden 
gewarten werden. Allerdings scheint es, dass diese Zeile ignoeriert 
wird.
Wenn ich die Datei manuell starte, werden 30 Sekunden gewartet.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lola schrieb:
> Allerdings scheint es, dass diese Zeile ignoeriert
> wird.

Das diagnostizierst Du wie?

von Borislav B. (boris_b)


Lesenswert?

Lola schrieb:
> Wie kann ich es anstellen, dass eine Batch Datei gestartet wird, sobald
> Windows (7) vollständlig geladen wurde?

Einfach in die Autostart legen.

Lola schrieb:
> Ich habe sie momentan einfach in den Autostart geschoben und in der
> Datei ein timeout 30 eingefügt

Wozu das Timeout? Willst du auch noch warten bis alle Dienste und 
Programme gestartet wurden? Das kannst du schwerlich rausbekommen...
Ein pauschales "Timeout 30" ist da wohl nicht der richtige Ansatz.

Musst du auf ein bestimmtes Programm warten?

von Peter II (Gast)


Lesenswert?

wie hast du das timeout umgesetzt? Ich habe schon Versionen mit ping 
gesehen, das kann aber schief gehen wenn das Netzwerk noch nicht bereit 
ist. Das würde das Verhalten erklären.

von Lola (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das diagnostizierst Du wie?

ich sehe dies im CMD Fenster. Es werden alle Befehle abgearbeitet, unter 
anderem auch ein zweites timeout, aber das erste timeout wird einfach 
ausgelassen...

Und ja, der PC sollte warten, bis alle Dienste geladen/gestartet worden 
sind

von Borislav B. (boris_b)


Lesenswert?

Lola schrieb:
> Und ja, der PC sollte warten, bis alle Dienste geladen/gestartet worden
> sind

Das ist aber schwierig...
Dann müsstest du die CPU Auslastung und die Festplattenzugriffe 
auswerten, und erkennen wenn "Ruhe eintritt" ;-)

Sicher dass du das brauchst?

von Peter II (Gast)


Lesenswert?

Boris P. schrieb:
> Das ist aber schwierig...
> Dann müsstest du die CPU Auslastung und die Festplattenzugriffe
> auswerten, und erkennen wenn "Ruhe eintritt" ;-)

das gibt es sogar. Bei geplanten Task kann mal als Start auch "Leerlauf" 
einstellen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lola schrieb:
> Und ja, der PC sollte warten, bis alle Dienste geladen/gestartet worden
> sind

Dann such Dir einen Dienst aus, von dem Du meinst, daß er als letztes 
gestartet werden dürfte, und frage dessen Zustand in der Batchdatei mit 
"sc" ab.

Was soll die Batchdatei anstellen, vom Warten auf "alles ist irgendwie 
gestartet" abgesehen?

von Marek W. (ma_wa)


Lesenswert?

Autoexec.bat wird unter Windows 7. nicht mehr ausgeführt. Es dient nur 
noch zur Konfigurationsszwecken.

Möglichkeiten:

1.) in den Autostartordner legen
Das kannst du beim entsprechenden Benutzer machen oder wenn das Skript 
für alle Benutzer ausgeführt werden soll unter ...

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

... ablegen.

2.) über die Start/Systemsteuerung/Verwaltung/Aufgabenplanung
Hier den richtigen Triggen wie Anmeldung oder Start wählen

3.) Über die lokalen Gruppenrichtlinien
Für die Bearbeitung gpedit.msc starten, dann unter ...

Computerkonfiguration/Windows-Einstellungen/Skripts
Benutzerkonfiguration/Windows-Einstellungen/Skripts

... schauen.

von Reinhard Kern (Gast)


Lesenswert?

Lola schrieb:
> Und ja, der PC sollte warten, bis alle Dienste geladen/gestartet worden
> sind

Das ist keine sinnvolle Forderung, weil man so etwas überhaupt nicht 
überschauen kann - soll z.B. gewartet werden, bis Avira die neuen Daten 
geladen hat? Ausserdem, meinst du jetzt nur die Dienste, die vor der 
Anmeldung gestartet werden, oder auch was nach der Useranmeldung noch 
hochläuft?

Wenn du nur einen bestimmten Dienst X als Voraussetzung brauchst, kannst 
du Abhängigkeiten setzen, aber dazu musst du dein eigenes Programm als 
Dienst programmieren - eben so, dass dieser nach dem Dienst X startet.

Ansonsten ist eine Zeitverzögerung keine soo schlechte Lösung, 
allerdings muss man die recht lang ansetzen. Ich habe das mal gebraucht 
für einen Fritz-ISDN-Dateiserver, der als normales Programm gestartet 
wurde, aber halt eine funktionierende CAPI brauchte, den habe ich um 
mehrere Minuten verzögert gestartet, das hat jahrelang gut funktioniert 
auf einem Windows-Server.

Besonders hübsch in dem Zusammenhang ist auch die Meldung "Bitte warten 
Konfigurieren von Windows wird vorbereitet"

Gruss Reinhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.