wstecher
Goto Top

(Änderungs-)Uhrzeit der Datei ohne Doppelpunkt

Hallo,

ich bin leider in der Batchprogrammierung nicht wirklich zu Hause. Habe es dennoch mit Hilfe dieses Forums (lange gesucht und das benötigte zusammengebastelt) geschafft, meinen Bedarf fast zu decken. Ich muss von mehreren Dateien das Erstellungsdatum (incl. Uhrzeit) ermitteln und vergleichen und entsprechend des Ergebnisses weiterverarbeiten. Klappt auch eigentlich alles wunderbar, allerdings erhalte ich den Datums-Zeit-String immer als JJMMTThh:mm.
Ich möchte gerne den Doppelpunkt zwischen den Stunden (hh) und Minuten (mm) weghaben. Trotz aller Suche hier im Forum bin ich diesbezüglich leider nicht fündig geworden.

Ich ermittele meinen "Zeitschnipsel" wie folgt:

for %%i in ("C:\test.txt") do For /f "tokens=1-3 delims=.: " %%a in ("%%~ti") do For /f "tokens=1-2 delims= " %%f in ("%%~ti") do set datetime_file=%%c%%b%%a%%g  

Das Ergebnis ist aktuell 09081119:12
Ich benötige 0908111912

Wie gesagt, diese Anweisung ist mit HIlfe dieses Forums (Danke an dieser Stelle an alle fleißigen Poster) zusammengebastelt worden.
Falls also einer Verbesserungsbedarf sieht, bin ich selbstverständlich auch dafür immer offen.

Danke für Eure Mühe.

Content-Key: 122545

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

Printed on: April 25, 2024 at 20:04 o'clock

Member: Biber
Biber Aug 12, 2009 at 07:30:24 (UTC)
Goto Top
Moin WStecher,

willkommen im Forum.

Du kannst eine FOR/F-Anweisung einsparen bei gleichem (bzw. gefixtem) Ergebnis.
Demo am CMD-Prompt:
for %i in ("c:\test.text") do For /f "tokens=1-5 delims=.: " %a in ("%~ti") do @echo set datetime_file=%c%b%a%d%e  
set datetime_file=0908111912

Wenn das bei Dir ebenfalls funktioniert, dann kannst Du diese Zeile so in Deinen Batch übernehmen.
Nur noch alle %-Zeichen durch %% ersetzen und das Wort "echo" vor dem SET wieder entfernen.

Grüße
Biber
Member: WStecher
WStecher Aug 12, 2009 at 07:39:04 (UTC)
Goto Top
Super, danke für die schnelle Antwort und den Hinweis zur besseren (verkürzten) Schreibweise.
Funktioniert wunderbar.