thanquol
Goto Top

Datei-Änderungsdatum auslesen?

Hallo,

ich stehe vor folgendem Problem: Ich habe eine Datei (hier test.bat) und möchte gerne davon Änderungsdatum + Zeit in Variablen gespeichert haben

soweit komme ich:
for /f "delims=" %%i in ('dir .\test.bat /s /b /a-d') do set file_date=%%~ti
echo %file_date%

-> Ausgabe: 10.12.2007 15:08

nun hätte ich gerne, dass 10,12,2007,15,08 in jeweils einer eigenen Variable stehen, damit ich mir zur weiterverarbeitung einen Ordnernamen generieren kann!

Aber wie stelle ich das an? es sollte irgendwie mit dem FOR-Befehl gehen, aber ich kriege es leider nicht hin!

Danke für eure Hilfe!

Mfg,
Florian

Content-Key: 75648

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

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

Mitglied: 58502
58502 Dec 10, 2007 at 14:41:22 (UTC)
Goto Top
Du musst die Variablen trennen. Wie das geht, steht in der Hilfe zum SET-Befehl (SET /? oder HELP SET)

Beispiel:
Set jahr= %file_date;~6,4% würde in die Variable jahr 4 Zeichen beginnend ab Zeichen 6 (Zählung beginnt bei 0) kopieren.
Member: Biber
Biber Dec 10, 2007 at 15:16:58 (UTC)
Goto Top
Moin Thanquol,

willkommen im Forum.
Eine andere Variante der Datums-Trennung wäre diese hier:
(für genau eine vorhandene Ausgabe im Format "10.12.2007 15:08")

for /f "delims=" %%i in ('dir .\test.bat /s /b /a-d') do call :splitDate %%~ti  
echo Tag: %TT% Monat: %MM% Jahr: %JJ%...
goto :eof

:splitDate Parameter1 ist Datum (10.12.2007), Parameter2     ist Zeit (15:08)
for  /f "tokens=1-5 delims=.:, " %%a in ("%1.%2") do (  
               set TT=%%a
               Set MM=%%b
               Set JJ=%%c
               Set hh=%%d
               Set mi=%%e
)
Goto :eof
[ungetestet]

Im Bereich "Batches4Hell" steht auch so ein Tutorial zum Thema "Datums- und Zeitvariablen im Batch".

Grüße
Biber
Member: Thanquol
Thanquol Jan 02, 2008 at 08:56:51 (UTC)
Goto Top
Ahoi!

Sorry, ich hatte völlig vergessen Feedback zu geben! Hat natürlich 1A geklappt face-wink

Mfg,
Florian