Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst %Time% Variable ändert sich nicht.

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

12.05.2006, aktualisiert 11:48 Uhr, 8819 Aufrufe, 3 Kommentare

%Time Variabel innerhalb einer Batch Datei immer gleich

Hallo
Ich habe hier einen Ausschnitt aus einer Batch Datei dieich gerade Schreibe:

FOR /F "eol=; tokens=1* delims=" %%a in (Optionen.txt) do (
echo %%a wird gestartet
echo Option %%a: >> %Logfile%
echo %Date%%Time%: Programm gestartet
echo %Date%%Time%: Programm gestartet >> %Logfile%
C:\Programm.exe %%a
echo %Date%%Time%: Programm beendet
echo %Date%%Time%: Programm beendet >> %Logfile%
echo.
echo. >> %Logfile%
)

Dabei sollen, wie man sehen kann, immer wieder Statusmeldungen mit dem aktuellen Datum und der aktuellen Zeit ausgegeben werden und in einem Logfile gespeichert werden.
Mein Problem ist, das die Zeit die ausgegeben und gespeichert wird vor und nach dem ausführen des Programms gleich ist. Auch bei mehrmaligem durchlaufen der For-Schleife wird immer die gleiche Zeit angezeigt.
Die ausführung des Programms ansich dauert schon mehrere Sekunden bis einige Minuten. Die Meldungen auf der Konsole erscheinen auch wirklich immer vor und nach dem Programmaufruf. Was sit das Problem?

miniversum
Mitglied: Dani
12.05.2006 um 10:18 Uhr
Hi,
probiers mal so:
01.
start C:\Programm.exe %%a /wait

Gruß
Dani
Bitte warten ..
Mitglied: Biber
12.05.2006 um 10:38 Uhr
Moin miniversum,

Du hast zwar optisch den Batch auf mehrere Zeilen auseinandergezogen, dennoch ist für den CMD-Interpreter nach wie vor alles eine Programmzeile, was innerhalb der KlammerAuf/KlammerZu-Konstruktion steht.
Das heißt, die Variable %tinme% wird auch einmal aufgelöst, nämlich dann, wenn die For-In-Do-Anweisung mit dem ersten Element losrennt.

Zwei Möglichkeiten:
a)
01.
FOR /F "eol=; tokens=1* delims=" %%a in (Optionen.txt) do call :ThisElement 
02.
goto :eof 
03.
:ThisElement FOr-Parmeter %%a kommt als %1 an 
04.
echo %%a wird gestartet 
05.
echo Option %1: >> %Logfile% 
06.
echo %Date%%Time%: Programm gestartet 
07.
echo %Date%%Time%: Programm gestartet >> %Logfile% 
08.
C:\Programm.exe %1 
09.
echo %Date%%Time%: Programm beendet 
10.
echo %Date%%Time%: Programm beendet >> %Logfile% 
11.
echo. 
12.
echo. >> %Logfile% 
13.
goto :eof
-oder-
b) Mit DelayedExpansion arbeiten:
01.
Setlocal EnableDelayedExpansion 
02.
FOR /F "eol=; tokens=1* delims=" %%a in (Optionen.txt) do ( 
03.
echo %%a wird gestartet 
04.
echo Option %%a: >> %Logfile% 
05.
echo %Date%!Time!: Programm gestartet 
06.
echo %Date%!Time!: Programm gestartet >> %Logfile% 
07.
C:\Programm.exe %%a 
08.
echo %Date%!Time!: Programm beendet 
09.
echo %Date%!Time!: Programm beendet >> %Logfile% 
10.
echo. 
11.
echo. >> %Logfile% 
12.
)
(Genau genommen müsstest Du auch jeweils !date! statt %date% schreiben, aber so oft wird der Batch nicht um Mitternacht herum laufen.)

Hope That Helps
Biber
Bitte warten ..
Mitglied: miniversum
12.05.2006 um 11:48 Uhr
Danke Biber
Das mit dem Setlocal wars!
Hab am Ende noch ein endlocal gesetzt

miniversum
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
(Batch) Time Variable modifizieren
gelöst Frage von DatBatchBatch & Shell8 Kommentare

Hallo User Wie man in der Überschrift sehen kann möchte ich die Time Variable verändern . Ich will es ...

Mac OS X

Time Machine - Wird der Schlüsselbund gesichert?

gelöst Frage von 119851Mac OS X3 Kommentare

Hallo Leute, ich nutze seit kurzem Time Machine für meine Backups (+ File Vault 2). Nun wollte ich mal ...

Netzwerkmanagement

DHCP Lease Time Empfehlung?

gelöst Frage von lcer00Netzwerkmanagement6 Kommentare

Hallo zusammen, Beim DHCP- oder DNS-Serverwechsel habe ich mir angewöhnt die DHCP-Lease-Time auf einen möglichst geringen Wert einzustellen um ...

Datenbanken

HILFE :-) Time Fehler bei MySQL

gelöst Frage von oneofakind88Datenbanken2 Kommentare

Hallo zusammen, bin hier auf einen Fehler gestoßen und komme einfach nicht dahinter wiso mir MySQL einen NULL wert ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 StundeErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 3 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 3 StundenMicrosoft3 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1025 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server-Hardware
Server für Exchange 2016, Kaufberatung
Frage von MazenauerServer-Hardware10 Kommentare

Guten Tag werte Gemeinde, Vorab: Ich dachte es gab mal einen separaten Bereich für solche Anfragen, habe ich leider ...