obeees
Goto Top

Dateiänderungsdatum Vergleich inklusive Änderungszeit

Hallo Zusammen,

ich stehe vor einem kleinen Problem, bei welchem ich mit meinen bescheidenen Batch Kenntnissen nicht weiter komme.

Ziel ist es das Änderungsdatum inkl. Zeit zweier Dateien mit einander zu Vergleichen und falls eine Abweicht einen robocopy Aufruf zu starten.

Der Vergleich des reinen Datums funktioniert bereits wunderbar, nur komme ich nicht drauf, wie ich auch noch die Zeit mit vergleichen kann.

Für Hilfe wäre ich mehr als Dankbar!!

Hier mein bisheriges Skript :

@echo off & setlocal 
set Dateien="C:\test1\lehrerzimmer\default.htm","C:\test1\archiv\vergleich\lehrerzimmer\default.htm"   
set "Vergleich=%date%"   
for %%i in (%Dateien%) do if exist %%i ( 
    echo %%~ti|findstr /b "%Vergleich%">nul || goto copy  
)

goto ende

:copy
rd C:\test1\Archiv\Vergleich /s /q
robocopy C:\test1 C:\test1\Archiv\Vergleich /e /xd Archiv Sicherung
robocopy C:\test1 "C:\test1\Archiv\Gesamt\%DATE% %time:~0,2%-%time:~3,2%" /e /xd Archiv Sicherung  
robocopy C:\test1\Lehrerzimmer "C:\test1\Archiv\Lehrerzimmer\%DATE% %time:~0,2%-%time:~3,2%" /e /xd Archiv Sicherung  

:ende
exit


Gruß
obeees

Content-Key: 227657

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

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: Endoro
Lösung Endoro 24.01.2014 aktualisiert um 14:02:21 Uhr
Goto Top
Hey,

ein Vorschlag:
@echo off &setlocal disableDelayedExpansion
set "file1=C:\test1\lehrerzimmer\default.htm"  
set "file2=C:\test1\archiv\vergleich\lehrerzimmer\default.htm"    
for /f %%a in ('wmic datafile where 'name^="%file1:\=\\%"' get lastmodified ^| find "."') do set "fdate1=%%a"  
for /f %%a in ('wmic datafile where 'name^="%file2:\=\\%"' get lastmodified ^| find "."') do set "fdate2=%%a"  
if defined fdate1 if defined fdate2 if "%fdate1%"=="%fdate2%" (echo Equal.) else echo Not equal.  
Gruss.
Mitglied: obeees
obeees 24.01.2014 um 14:02:15 Uhr
Goto Top
Funktioniert Perfekt!!!
Danke!