Zum Inhalt springen

Batch Programmierung


FloBerlin

Empfohlene Beiträge

Hallo @ all,

Ich sitze zur Zeit an einer Batch, welche mir beim Anmelden (via Anmeldeskript) eine %date%.txt erstellt und die aktuelle Uhrzeit reinschreibt. Wenn ich mich dann Abmelde wird in die *.txt via Abmeldeskript die Endzeit reingeschrieben.

Das funzt auch alles soweit, jedoch will ich mir beim Abmelden die Zeit vom Anmelden bis hin zum Abmelden ausrechnen lassen.

Hat jemand eine Idee?? vlt. eine globale Variable????

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du könntest das aktuelle Datum auslesen mit Tag im Monat, Stunde, Minute und Sekunde bei der Anmeldung und dann bei der Abmeldung dieses wiederholen und zwischen den einzelnen Werten die Differenz berechnen.

Alternativ: Zu Beginn den momentanen Timestamp in Unixtime umwandeln, bei der Abmeldung das wiederholen und die Differenz zwischen den beiden Unixtime-Werten ausrechnen. Anschließend den Wert der Differenz zurück wandeln in ein lesbares Format.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

wenn du in cmd "systeminfo" eingibtst, wird dir so einiges angezeigt zb. auch die Systembetriebszeit.

Die Systembetriebszeit fängt an zu laufen, sobald das System läuft und hört es damit auf wenn es aus ist. D.h. Wenn du dich nach 4 Stunden abmeldest, nach einer Stunde dich wieder anmeldest wäre die Systembetriebszeit bei 5 Stunden.

@echo off

systeminfo>daten.txt

for /f "delims=" %%i in ('findstr "Systembetriebszeit" daten.txt') do echo %%i>ausgabe.txt"

del daten.txt

Ich hab mal ein Script erstellt. Ich glaub nicht dass des ist was du genau suchst.

Mal eine andere Idee:

Du erstellst eine txt beim Anmelden und eine beim Abmelden.

Du könntest dann einer Batch die Uhrzeiten von den zwei Dateien einlesen und aufteilen. Dannach könntest die Dauer berechnen.

@echo off

set StundeAnmelden= %a

set MinutenAnmelden= %b

set StundeAbmelden= %c

set MinutenAbmelden= %d

set /A d= StundeAbmelden - StundeAnmelden

set /A e= MinutenAbmelden - MinutenAnmelden

echo Sie waren %%d %%e Stundenangemeldet

Es wäre nicht schlecht, wenn du deine jetzige Batch postet dann könnte ich dir ggf. helfen.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

@echo off

set StundeAnmelden= %a

set MinutenAnmelden= %b

set StundeAbmelden= %c

set MinutenAbmelden= %d

set /A d= StundeAbmelden - StundeAnmelden

set /A e= MinutenAbmelden - MinutenAnmelden

echo Sie waren %%d %%e Stundenangemeldet

Das Skript funktioniert zunächst nicht, weil da %-Zeichen bei der Subtraktion fehlen. Des Weiteren geht die Funktion verloren, sobald sich der Mitarbeiter bspw. nach 23:59 abmeldet oder generell länger als 24 Stunden arbeitet.


set StundeAnmelden=16

set MinutenAnmelden=0


set StundeAbmelden=4

set MinutenAbmelden=0

Ausgabe:

E:\>foo.bat

Sie waren -12 0 Stundenangemeldet

Link zu diesem Kommentar
Auf anderen Seiten teilen

sobald sich der Mitarbeiter bspw. nach 23:59 abmeldet oder generell länger als 24 Stunden arbeitet.

Ja ist klar, hab ich vergessen zu erwähnen. Ist halt die Frage ob so gearbeitet wird ;).

Ist auch die Frage ob jeder Mitarbeiter seinen eigenen PC hat., weil wenn nicht dann melden die sich oft nur ab, damit der nächste denn nicht wieder anschalten muss und somit würde die Möglichkeit mit dem systeminfo auf wegfallen.

Deine Vorschlag erscheint mir doch am einfachsten und "sichersten".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...