Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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.

Frage Entwicklung Batch & Shell

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

12.05.2006, aktualisiert 11:48 Uhr, 8781 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
Hyper-V
gelöst VHD Hyper-V ändert Größe nicht nach Änderung - Wo.? (4)

Frage von imacer zum Thema Hyper-V ...

Batch & Shell
gelöst Teil eines Strings als Variable setzen (2)

Frage von tHe-jAy zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (1)

Frage von Zendara zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable in Makefile durch Shell Command (2)

Frage von nico1999 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(12)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...