Neuere Datei per Batch ausfinding machen
Hallo,
Ich möchte eigentlich was recht einfaches: Ich habe in zwei Ordnern identische (Log-)Dateien. Wenn die eine neue ist, soll ein Batch was anderes machen als wenn die andere neuer ist. Mir würde da schon ein "goto" reichen. Oder auch ok wäre, wenn er die ältere einfach löscht. Dann könnte ich als nächstes abfragen, ob die datei existiert, wenn nicht, dann mache dies und jenes. Zum Schluß würde ich die Log-Datei kopieren und somit in beiden Ordnern identisch haben.
Also:
Wenn D:\Ordner1\Log.log ist neuer als D:\Ordner2\Log.Log goto Ordner1
Wenn D:\Ordner2\Log.log ist neuer als D:\Ordner1\Log.Log goto Ordner2
exit
:Ordner1
hier kommt was
exit
:Ordner2
hier kommt was
exit
Könnt ihr mir helfen? Stehe gerade auf dem Schlauch.
Gruß
chattie
Ich möchte eigentlich was recht einfaches: Ich habe in zwei Ordnern identische (Log-)Dateien. Wenn die eine neue ist, soll ein Batch was anderes machen als wenn die andere neuer ist. Mir würde da schon ein "goto" reichen. Oder auch ok wäre, wenn er die ältere einfach löscht. Dann könnte ich als nächstes abfragen, ob die datei existiert, wenn nicht, dann mache dies und jenes. Zum Schluß würde ich die Log-Datei kopieren und somit in beiden Ordnern identisch haben.
Also:
Wenn D:\Ordner1\Log.log ist neuer als D:\Ordner2\Log.Log goto Ordner1
Wenn D:\Ordner2\Log.log ist neuer als D:\Ordner1\Log.Log goto Ordner2
exit
:Ordner1
hier kommt was
exit
:Ordner2
hier kommt was
exit
Könnt ihr mir helfen? Stehe gerade auf dem Schlauch.
Gruß
chattie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 321968
Url: https://administrator.de/forum/neuere-datei-per-batch-ausfinding-machen-321968.html
Ausgedruckt am: 19.02.2025 um 21:02 Uhr
2 Kommentare
Neuester Kommentar
Hallo chattie!
Schematisch etwa so:
Wenn Du "
BTW: Wenn Du keinen guten Grund für "
Grüße
bastla
Schematisch etwa so:
for %%i in ("D:\Ordner1\Log.log") do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "TS1=%%c-%%b-%%a-%%d-%%e"
for %%i in ("D:\Ordner2\Log.log") do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "TS2=%%c-%%b-%%a-%%d-%%e"
if "%TS1%" geq "%TS2" (
echo Datei in Ordner1 ist neuer oder gleich alt
goto :eof
) else (
echo Datei in Ordner 2 ist neuer
goto :eof
)
goto
" verwenden möchtest:for %%i in ("D:\Ordner1\Log.log") do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "TS1=%%c-%%b-%%a-%%d-%%e"
for %%i in ("D:\Ordner2\Log.log") do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "TS2=%%c-%%b-%%a-%%d-%%e"
if "%TS1%" lss "%TS2" goto :Ordner2
echo Datei in Ordner 1 ist neuer oder gleich alt
goto :eof
:Ordner2
echo Datei in Ordner1 ist neuer
goto :eof
exit
" hast (da Du anscheinend keinen Errorlevel damit übergeben möchtest fehlt mir gerade die diesbezügliche Phantasie) würde ich zur Verwendung von "goto :eof
" raten ...Grüße
bastla