gelöst Aktualisierung der Zeit innerhalb eine Batchdatei

Mitglied: ConsTricTa

ConsTricTa (Level 1)

10.03.2010, aktualisiert 20:54 Uhr, 2939 Aufrufe, 6 Kommentare

In einer Batchdatei möchte ich beim starten und beenden die zeit in einer .csv festgehalten.

01.
@echo off
02.

03.
set logintime=%time:~0,5% 	
04.

05.

06.
echo LOGINZEIT: %logintime% >> log.csv
beim beenden das selbe

01.
set logouttime=%time:~0,5%
02.
echo LOGOUTZEIT: logouttime% >> log.csv
leider nimmt er mir aber die logouttime nicht an
er zeigt die loginzeit an!

kann mir wer helfen?
lg

PS: die zwei codes sind in einer batchdatei!!!
Mitglied: pieh-ejdsch
10.03.2010 um 21:59 Uhr
hallo ConsTricTa,

bei Dir fehlt beim Beenden in der Zeile 02. ein Prozentzeichen

echo LOGOUTZEIT: %logouttime% >> log.csv

Unabhängig davon schreibe doch der Einfachheit gleich

01.
echo LOGOUTZEIT: %time:~0,5% >> log.csv
wenn Du die %logouttime% nirgendwo anders als Variable benötigst, leg diese nicht erst extra fest.

Gruß Phil
Mitglied: ConsTricTa
10.03.2010 um 22:09 Uhr
danke, das prozentzeichen hab ich nur hier vergessen, in der batch ist es natürlich vorhanden!

damit ist mein problem aber nicht gelöst! ich habe es mit dieser simplen batch datei getestet.

01.
@echo off & setlocal
02.
:LOGIN
03.
echo LOGINZEIT: %time:~0,5% >> C:\testlog.csv
04.

05.
::hier warte ich ca 2. min
06.
pause
07.

08.
:logout
09.
echo LOGOUTZEIT: %time:~0,5% >> c:\testlog.csv
die logoutzeit hat sich nicht verändert! sie bleibt gleich!
Mitglied: pieh-ejdsch
10.03.2010 um 22:36 Uhr
dann liegt es an der dynamischen Variable %time%.

dieses Phänomän konnte ich auch mal bei einer anderen Dynamischen Variable feststellen.

versuche es mal so

01.
@echo off&setlocal
02.
:LOGIN
03.
set intime=%time%
04.
echo LOGINZEIT: %intime:~0,5% >> C:\testlog.csv
05.

06.
ping -n 120 localhost >nul
07.

08.
:logout
09.
echo LOGOUTZEIT: %time:~0,5% >> C:\testlog.csv
Gruß Phil
Mitglied: ConsTricTa
10.03.2010 um 22:47 Uhr
wow danke ich glaube es funktioniert.

hatte es schonmal so ähnlich probiert, aber nicht so.

vielen dank! super, jz kann ich beruhigt schlafen gehen ;)
lg
Mitglied: 60730
10.03.2010 um 22:53 Uhr
unabhängig davon, das es zum guten Ton gehört eine nicht x beliebige Grußformel zu hinterlassen....
...ist es immer nett, wenn bei "problembätchen" ein führendes @echo off hingemaltwird, da sieht man(n) ja gleich wo der Schuh drückt.

Der reinen Lehre nach macht ein folgendes setlocal dann auch so viel Sinn wie einem Fisch ein Fahrrad zu kaufen.

Und wenn dann auch noch das Clientsystem nicht genannt wird - naja die Batch istso banal, die läuft sogar unter xp - außer .....

ps echo 123>>textdatei
Mitglied: pieh-ejdsch
10.03.2010 um 23:05 Uhr
Der Grund ist ist die Veränderte Darstellung der Dynamischen Variable.

warum nun ausgerechet bei der Veränderten Übergabe dieser Dynamischen Variable(n) die Dynamik flöten geht weiss ich auch nicht zu sagen.

sicher liegt es an der Erweiterung bzw Verkürzung der Dynamischen Variablen. (einzelfall)

Jedenfalls hilft es eine solche an Dynamik verlierende Variable als NICHT Erweiterte bzw NICHT Verkürzte Variable in eine weitere Variable zu Übergeben und diese weitere Variable dementsprechend zu Erweitern bzw zu Verkürzen.



Gruß Phil
Titel: Aktualisierung der Zeit innerhalb eine Batchdatei
Content-ID: 137934
Art des Inhalts: Frage
Ausgedruckt am: 16.09.2019 um 02:07:31 Uhr
URL: https://administrator.de/contentid/137934