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

Zeitstempel erzeugen in Batch Routinen - Bei Stunde wird die Null nicht angezeigt

Frage Entwicklung Batch & Shell

Mitglied: B-Real

B-Real (Level 1) - Jetzt verbinden

17.07.2013 um 09:16 Uhr, 1379 Aufrufe, 5 Kommentare, 3 Danke

Hallo Community,

in meinen Batch Routinen verwende ich gerne diesen nützlichen Code um einen Zeitstempel zu erzeugen. Also wenn ich Dateien mit Zeitstempel umbenennen muss, oder in eine Log Datei einen Zeitstempel schreiben will. Kann sein dass ich es sogar hier im Forum gefunden habe, bin mir nicht mehr sicher.

01.
REM Zeitstempel erzeugen 
02.
for /f "tokens=1-4 delims=. " %%i in ("%date%") do ( 
03.
  set day=%%i 
04.
  set month=%%j 
05.
  set year=%%k 
06.
07.
 
08.
for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do ( 
09.
 set hour=%%i 
10.
 set minute=%%j 
11.
 set second=%%k 
12.
 set hundredth=%%l 
13.
)
Aufruf zum Zeitstempel erzeugen in meinen Batch Routinen immer via:

01.
call %SystemPath%\TheTime.cmd
Anschließend benenne ich meine Dateien im Batch um, zB mit

01.
ren *.bew FILE.L%hour%%minute%%second%
Das Problem:
Das funktioniert auch, ABER: Aus irgendeinem mir unbekannten Grund wird bei allen Dateien, die vor 10 Uhr vormittags umbenannt werden, die Null bei der Stunde (%hour%) weggelassen.

Zum Beispiel:
  • FILE.L73013 (anstatt FILE.L073013)
  • FILE.L84002 (anstatt FILE.L084002)
  • FILE.L85002 (anstatt FILE.L085002)

Nach 10 Uhr gibt es natürlich keine Null mehr in der Stunde, da passt es dann:
  • FILE.L104001
  • FILE.L144002

Hat jemand eine Idee woran das liegen kann? Danke
Mitglied: bastla
17.07.2013, aktualisiert um 09:35 Uhr
Hallo B-Real!

Einstellige Stundenwerte enthalten in %time% ein führendes Leerzeichen - daher besser:
01.
for /f "tokens=1-4 delims=.:," %%i in ("%time%") do ( 
02.
 set hour=%%i 
03.
 set minute=%%j 
04.
 set second=%%k 
05.
 set hundredth=%%l 
06.
07.
set "hour=%hour: =0%"
Grüße
bastla
Bitte warten ..
Mitglied: volkerw
17.07.2013 um 09:46 Uhr
Hallo B-Real,

da hat bastla recht, time liefert nun mal keine führende Null, aber time /t macht das.
Ersetze einfach "%time%" durch 'time /t', damit geht's.

Gruß
Volker
Bitte warten ..
Mitglied: B-Real
17.07.2013, aktualisiert um 10:07 Uhr
Danke für eure Antworten bastla und Volker,

ich habe es mit 'time /t' versucht, aber dann fehlen die Sekunden und Millisekunden. Dafür steht die Stunde richtig da .

Hm evtl. könnte ich eine Kombination aus beiden Varianten basteln, die dann funktioniert.
Bitte warten ..
Mitglied: volkerw
17.07.2013 um 10:22 Uhr
Stimmt, die Sekunden werden bei time /t nicht geliefert, aber warum eine Kombination basteln ?
Bastlas Vorschlag ist die Lösung, das sollte auf jeden Fall funktionieren.
Bitte warten ..
Mitglied: B-Real
17.07.2013 um 10:56 Uhr
Du hast natürlich Recht Volker, ich hatte übersehen dass bastla in der ersten Zeile ein Leerzeichen entfernt hatte.

01.
for /f "tokens=1-4 delims=.:," %%i in ("%time%") do ( 
Bei mir war da immer noch ein Leerzeichen nach dem delims. Somit klappt es perfekt und ist als Gelöst markiert.

Danke euch beiden!
Bitte warten ..
Ähnliche Inhalte
Exchange Server
gelöst Exchnage mit POPBeamer Zeitstempel zurücksetzten (5)

Frage von miichiii9 zum Thema Exchange Server ...

Batch & Shell
gelöst Powershell: amerikanischen Zeitstempel in deutschen umwandeln (6)

Frage von Apophis zum Thema Batch & Shell ...

PHP
gelöst PHP statements mit PHp erzeugen (4)

Frage von Lorderich zum Thema PHP ...

Batch & Shell
gelöst Führende Nullen hinzufügen (6)

Frage von Erik72 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (10)

Frage von D-Line zum Thema Microsoft Office ...