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

Printed on: April 24, 2024 at 15:04 o'clock

Member: Endoro
Solution Endoro Jan 24, 2014 updated at 13:02:21 (UTC)
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.
Member: obeees
obeees Jan 24, 2014 at 13:02:15 (UTC)
Goto Top
Funktioniert Perfekt!!!
Danke!