chattie
Goto Top

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

Content-Key: 321968

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

Printed on: April 23, 2024 at 16:04 o'clock

Member: bastla
bastla Nov 24, 2016 at 16:38:20 (UTC)
Goto Top
Hallo chattie!

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
)
Wenn Du "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
BTW: Wenn Du keinen guten Grund für "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
Member: chattie
chattie Nov 24, 2016 at 19:00:58 (UTC)
Goto Top
Hallo bastla,

vielen Dank. Ich habe es schon soweit umgebaut, daß es für mich passt. Vielen Dank, das ist genau, was ich gesucht habe.

ich persönlich fühle mich mit goto immer etwas sicherer, daher habe ich das zweite genommen.

zu deiner Frage: ich habe es noch ein wenig anders gemacht: in Zeile 4 Frage ich noch ab, ob TS2 lss TS1 ist, dann noch eine Zeile eingefügt, wenn beide gleich sind, auch mit einem goto.

Das mit dem exit war nur ein Beispiel, exit mache ich auch so gut wie nie...

Wie gesagt: DANKE!!!

Gruß
chattie