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 :
Gruß
obeees
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 227657
Url: https://administrator.de/contentid/227657
Printed on: April 25, 2024 at 12:04 o'clock
2 Comments
Latest comment
Hey,
ein Vorschlag:
Gruss.
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.