Supportnet Computer
Planet of Tech

Supportnet / Forum / PC-Sonstiges

Dateien vergleichen





Frage

Hallo, ich habe folgendes Problem: Ich möchte zwei Dateien per Batch-Script vergleichen. Solange diese unterschiedlich sind, soll nichts passieren. Sobald die Dateien gleich sind, soll ein weiteres Batch-Script ausgeführt werden. Hintergrund: Ich überwache einen WebServer. Wenn ein Leistungsmerkmal (perfmon) einen gewissen Schwellwert überschritten hat, wird ein Batch-Script ausgeführt, welches mittels net stop / net start den betroffenen Dienst startet. Gleichzeitig werden alle weiteren Anmeldungen unterbunden. Es kommt eine Meldung "Server ist ausgelastet, bitte probieren Sie es später noch einmal". Jetzt möchte ich aber, bevor ich den Dienst abschieße (net stop / net start), prüfen ob Benutzer angemeldet sind. Hierfür habe ich eine Datei. Wenn dort „0“ steht, ist kein Benutzer mehr angemeldet. Am einfachsten erscheint mir, dies durch einen Dateivergleich zu realisieren: [code]fc user.count user0.count | find "FC: Keine Unterschiede festgestellt" >nul IF %ERRORLEVEL% EQU 1 GOTO ende echo Dateien sind unterschiedlich ... pause goto ende :ende[/code] Wenn die Datei user.count nicht gleich der Datei user0.count ist, ist ein Benutzer angemeldet. Allerdings läuft das Script überhaupt nicht. Auch meine Versuche fc mit comp zu ersetzen schlug komplett fehl. Wie sollte das Script aussehen, damit es funzt? Kann man eine Schleife so realisieren, daß diese alle 3 Minuten o.ä. durchlaufen wird? So etwa: [code]:start wait 300 fc user.count user0.count | find "FC: Keine Unterschiede festgestellt" >nul IF %ERRORLEVEL% EQU 1 GOTO ende echo Dateien sind unterschiedlich ... goto start :ende net stop dienst && net start dienst [/code] ???? Vielen Dank, viele Grüße aus Mainz Detlef

Antwort 1 von disco

moin

ist es nicht besser einfach ein systemproperty zu setzen, als dateien mieinander zu vergleichen?

und wegen der zeit benutze am besten was mit VBS.
A4:
https://supportnet.de/threads/1195950

g,
disco

Antwort 2 von Deddi63

Hallo,

vielen Dank für die Antwort. Das mit den Systemproperty geht leider nicht (besser: ich weiß nicht wie). Ich habe eine nicht selbst entwickelte WebAnwendung. Dort überwache ich die Speicherauslastung. Auf dem WebServer laufen aber noch viele andere WebAnwendungen. Ich möchte die Aktion (net stop dienst / net start dienst) nur für diese Anwendung ausführen. Das ganze klappt "händich" auch ganz gut, jetzt ist es Zeit das ganze zu automatisieren. Die anderen Anwendungen laufen dann munter weiter. Und in der Datei user.count steht die Anzahl der zur Zeit aktiven User drinn. Das funktioniert bestens. Das ist auch nicht zeitkritisch.

Gruß Detlef

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: