Batch Datei vor Standby im Hintergrund

filu84

Cadet 1st Year
Registriert
Okt. 2009
Beiträge
12
Hallo Miteinander

Als erstes ich bin totaler Anfänger was Batch programmierung angeht und habe folgende Aufgabenstellung.

Auf meinem Hauptrechner zu Hase soll eine ständige Abfrage laufen welche überprüft ob die IP's

192.168.1.10 und 192.168.1.20 aktiv sind (sprich gepingt werden können)

wenn eine der IP aktiv ist soll ein Dienst ausgeführt werden. Wenn keine IP aktiv ist sollte der dienst geschlossen werden. Die Abfrage sollte auch nach dem schliessen weiterlaufen und bei einer wiederanmeldung einer der IP Adressen sollte der Dienst wieder gestartet werden.

Und das ganze soll im Hintergrund laufen. Das heisst es sollte kein "Dos Fenster" in der Taskleiste erscheinen, sondern versteckt im Hintergrund laufen.

Ich hoffe es kann mir jemand helfen.

Gruss Filu


edit: wie komme ich nur auf diesen Themen-Titel (sorry)
 
Zuletzt bearbeitet:
wenn eine der IP aktiv ist soll ein Dienst ausgeführt werden. Wenn keine IP aktiv ist sollte der dienst geschlossen werden

Wie ist denn der Urzustand?

Also anpingen musst du erst und dann bekommst du entweder n Ping zurück, ne "Zeitüberschreitung der Anforderung"(Firewall, etc...) oder "Host nicht gefunden"

nachdem du einen der Rechner angepingt hast, kannst du
Code:
echo %errorlevel%
eingeben. Eine 0 bekommst du wenn du anpingen kannst, eine 1 wenn "Host nicht gefunden"
rauskommt.
Dann könntest du mithilfe einer IF-Abfrage überprüfen, und wenn eine 0 ist, den Dienst starten und ansonsten schließen/überspringen.


Ich könnte dir auch ne PDF zur Verfügung stellen, wenn du Interesse hast, müsst ich dann aber hochladen, da sie mit 220 kb 70 zu groß ist^^
 
Ich versuche mal mein ganzes Problem zu erläutern

Eigentlich will ich die Batch in den Autostart schieben.

Diese soll dann abfragen ob eine der beiden ip's aktiv ist
- wenn nicht beginne von vorne (das heisst endlosschlaufe bis eine aktiv ist)
- wenn eine der IP's Aktiv ist starte ein Programm (blablabla.exe) und überprüfe die Ip's wieder nach aktiv oder nicht. (überprüfung ip stufe aktiv)

-bleibt eine der Ip's aktiv, beginne bei (überprüfung ip stufe aktiv)
-ist keine IP mehr aktiv soll die (blablabla.exe) abgeschossen werden und die Pingabfrage beginnt von ganz vorne.

Und das ganze soll im Hintergrund laufen ohne ein Fenster in der Taskleiste

Somit läuft die Batch die ganze Zeit bis der PC heruntergefahren wird. Nach Systemstart startet sie wieder durch den Autostart.

Ich hoffe du konntest meinen erklärungen folgen.

Aber vielleicht sendest du mir einfach mal dein pdf. Was benötigst du (mailadresse oder ....)
 
Code:
:start
ping xyz
echo %errorlevel%
if errorlevel 1 goto start
if not errorlevel 1 "C:\Programme\Internet Explorer\iexplore.exe"

das wäre der anfang. Wenn er xyz nicht anpingen kann, tut er dies solange bis er diese findet und öffnet dann den Internet Explorer. Allerdings habe ich gerade festgestellt, dass er nich weiter macht, erst wenn dieser geschlossen ist fährt er fort. Da muss ich nochma gucken wodran das liegt...

Eigentlich nur ob du die haben willst, ich kann die auch uploaden und dir den Link geben^^

E: Du kannst mit Batch selbst keine Programme schließen, es gibt aber glaube ich dafür nen Tool das sowas kann...

Code:
if not errorlevel 1 "C:\Programme\Internet Explorer\iexplore.exe" goto weiter
:weiter
ping xcy
echo %errorlevel%
if not errorlevel 1 goto weiter2
if errorlevel 1 [Programm schließen]

:weiter2

Bei Weiter2 kommt dann wieder die Ping Abfrage.
Ich guck später nochma drüber, hab grad kA wie das weiterlaufen könnte mit dem Programm.

Am einfachsten wäre es, wenn du 2 Batches machst, das würde die ganze Sache stark vereinfachen^^.
 
Zuletzt bearbeitet:
Zurück
Oben