constricta
Goto Top

Aktualisierung der Zeit innerhalb eine Batchdatei

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

@echo off

set logintime=%time:~0,5% 	


echo LOGINZEIT: %logintime% >> log.csv

beim beenden das selbe

set logouttime=%time:~0,5%
echo LOGOUTZEIT: logouttime% >> log.csv

leider nimmt er mir aber die logouttime nicht an face-sad
er zeigt die loginzeit an!

kann mir wer helfen?
lg

PS: die zwei codes sind in einer batchdatei!!!

Content-Key: 137934

Url: https://administrator.de/contentid/137934

Printed on: April 19, 2024 at 12:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Mar 10, 2010 at 20:59:26 (UTC)
Goto Top
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

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
Member: ConsTricTa
ConsTricTa Mar 10, 2010 at 21:09:27 (UTC)
Goto Top
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.

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

::hier warte ich ca 2. min
pause

:logout
echo LOGOUTZEIT: %time:~0,5% >> c:\testlog.csv

die logoutzeit hat sich nicht verändert! sie bleibt gleich!
Member: pieh-ejdsch
pieh-ejdsch Mar 10, 2010 at 21:36:19 (UTC)
Goto Top
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

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

ping -n 120 localhost >nul

:logout
echo LOGOUTZEIT: %time:~0,5% >> C:\testlog.csv

Gruß Phil
Member: ConsTricTa
ConsTricTa Mar 10, 2010 at 21:47:26 (UTC)
Goto Top
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
60730 Mar 10, 2010 at 21:53:27 (UTC)
Goto Top
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
Member: pieh-ejdsch
pieh-ejdsch Mar 10, 2010 at 22:05:13 (UTC)
Goto Top
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