leknilk0815
Goto Top

DOS-Batch mit Date- Funktion

Bei der Uhrzeit fehlt die führende Null

Servus,

ich habe eine Batch, welche *.JPG- Dateien mit Datum und Uhrzeit im Dateinamen versieht. Funktioniert prima (dank Biber).
Der einzige Schönheitsfehler:
Bei der Uhrzeit zwischen 0:00 und 9:59 fehlt die führende Null, weshalb die Dateien dann auf der Website falsch sortiert werden.
Beispiel:
Die Datei:
20062008_19425208.jpg
erscheint auf der Liste oben,
die Datei:
20062008_8265107.jpg
erst darunter, obwohl sie älter ist.
Wenn sie mit:
20062008_08265107.jpg
benannt wäre, würde das nicht passieren.

Was muss ich im folgenden Schnipsel ändern, damit das so ist?

set timestamp=%date%_%time%
set timestamp=%timestamp:.=% 
set timestamp=%timestamp::=%
set timestamp=%timestamp:,=%
set timestamp=%timestamp: =%

Danke!

Content-Key: 90309

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

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: bastla
bastla 20.06.2008 um 21:14:43 Uhr
Goto Top
Hallo leknilk0815!

Ändere die letzte Zeile auf
set timestamp=%timestamp: =0%
Grüße
bastla
Mitglied: leknilk0815
leknilk0815 20.06.2008 um 21:20:04 Uhr
Goto Top
Danke, habs geändert. Ob es funktioniert, seh ich erst morgen früh. Geh ich aber davon aus...

Vielen Dank für die schnelle Antwort, schönen Abend noch!
Mitglied: leknilk0815
leknilk0815 21.06.2008 um 09:44:09 Uhr
Goto Top
Servus,

es funktioniert, allerdings mit einem kleinen Schönheitsfehler (stört aber nicht):
Es werden 2 Nuller eingefügt, einer wie gewünscht am Anfang, komischerweise dann noch einer am Ende. Das sieht dann so aus:

21062008_093841210.jpg
21062008_113134370.jpg

Aber egal, die Sortierung auf der Website funktioniert damit.

Danke nochmal!
Mitglied: bastla
bastla 21.06.2008 um 13:22:04 Uhr
Goto Top
Hallo leknilk0815!

Ändere jeweils die Schreibweise auf
set "timestamp=%date%_%time%"  
etc bzw achte darauf, dass in den einzelnen Zeilen am Ende kein Leerzeichen steht.

Grüße
bastla
Mitglied: Biber
Biber 21.06.2008, aktualisiert am 18.10.2012 um 18:35:53 Uhr
Goto Top
Moin leknilk0815 und bastla,

weil ich es zufällig gerade in einem anderen Thread in Arbeit habe:

In der Theorie bzw in der M$-Dokumentation sollte eigentlich das Problem einer fehlenden führenden Time-Stunden-Null garnienicht auftreten, wenn der HKCU-Registry-Wert iTLZero gesetzt ist.
Siehe hier beim sympathischen Weltmarktführer.

Also könnte ein einmaliges Setzen via Klickibunti oder CMD-Prompt helffen
Set regkey="HKEY_CURRENT_USER\Control Panel\International"  
reg Add %regkey% /v iTLZero /d 1 /f
Meiner unmaßgeblichen Wahrnehmung nach funktioniert es nicht reproduzierbar.
Aber wenn es funktionieren würde, wäre es doch eine feine Sache.. face-wink

Grüße
Biber
Mitglied: bastla
bastla 21.06.2008 um 13:46:35 Uhr
Goto Top
@Biber

wäre es doch eine feine Sache.. face-wink
Zweifellos; und damit ließe sich auch die folgende Variante (welche ich hinsichtlich Sortierbarkeit eigentlich vorziehen würde) auf einen Oneliner reduzieren:
@echo off & setlocal
for /f "tokens=1-3 delims=." %%a in ("%date%") do set "dstamp=%%c%%b%%a"  
for /f "tokens=1-4 delims=:, " %%a in ("%time%") do set "tstamp=0%%a%%b%%c%%d"  
set "timestamp=%dstamp%_%tstamp:~-8%"  
echo %timestamp%
Grüße
bastla