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

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: 58502
58502 10.12.2007 um 15:41:22 Uhr
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.
Mitglied: Biber
Biber 10.12.2007 um 16:16:58 Uhr
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
Mitglied: Thanquol
Thanquol 02.01.2008 um 09:56:51 Uhr
Goto Top
Ahoi!

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

Mfg,
Florian