Batch Dateien prüfen und kopieren
Ich habe ein Problem!
Ich will ein Batch schreiben, welches Dateien im Netzwerk mit Dateien auf C: vergleicht, wenn die Dateien identisch sind (speicherdatum komplett gleich)passiert nichts wenn Speicherdatum jünger oder älter ist, oder die Datei in c: nicht existiert wird sie vom Laufwerk auf c: kopiert. Mit xcopy bekomme ich es nicht hin, weil dort nur ältere Dateien aktualisiert werden können!
Wer kann mir ein bischen unter die arme greifen?
Ich will ein Batch schreiben, welches Dateien im Netzwerk mit Dateien auf C: vergleicht, wenn die Dateien identisch sind (speicherdatum komplett gleich)passiert nichts wenn Speicherdatum jünger oder älter ist, oder die Datei in c: nicht existiert wird sie vom Laufwerk auf c: kopiert. Mit xcopy bekomme ich es nicht hin, weil dort nur ältere Dateien aktualisiert werden können!
Wer kann mir ein bischen unter die arme greifen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 112198
Url: https://administrator.de/forum/batch-dateien-pruefen-und-kopieren-112198.html
Ausgedruckt am: 13.04.2025 um 16:04 Uhr
16 Kommentare
Neuester Kommentar
Hi,
mit robocopy müste es gehen
befehle müste ungefähr so aussehen
robocopy <quelle> <ziel> /MIR
robocopy kann es sicher bin mir nur nicht sicher ob die optionen stimmen. Kannst du aber in dem Link nachlesen
http://www.wintotal.de/Artikel/robocopy/robocopy.php
gruß
mit robocopy müste es gehen
befehle müste ungefähr so aussehen
robocopy <quelle> <ziel> /MIR
robocopy kann es sicher bin mir nur nicht sicher ob die optionen stimmen. Kannst du aber in dem Link nachlesen
http://www.wintotal.de/Artikel/robocopy/robocopy.php
gruß
Ich hab für dich mal die Beitrag gefunden, der dir dabei bestimmt hilft.
Mal ne ungetestete Skizze wie es geht:
Oder mit der FC Lösung:
set "hdd=C:\ordner"
set "netz=x:\ordner"
xcopy /d "%netz%\*.*" "%hdd%"
FOR /F "delims=" %%i in ('xcopy /L /d "%hdd%\*.*" "%netz%"') do copy /y "%netz%\%%~nxi" "%hdd%"
Oder mit der FC Lösung:
set "hdd=C:\ordner"
set "netz=x:\ordner"
xcopy /d "%netz%\*.*" "%hdd%"
FOR /F "delims=" %%i in ('dir /b "%netz%\*.*"') do fc /b "%netz%\%%i" "%hdd%\%%i" >NUL 2>NUL || copy /y "%netz%\%%i" "%hdd%"
Mit > kannst du die ausgaben umleiten.
Daraus ergibt nicht das:
PS: das ende kanst du dir sparen. Es gibt noch die Spungmarke :eof die imemr ans ende der Datei führt. Die brauchst ud auch nicht extra hinzuschreiben.
NUL leitet Ausgaben ins "Nichts" um.
2>leitet Fehlermeldungen um.Daraus ergibt nicht das:
FC /b "%netz%"\protokol.xls "%hdd%"\protokol.xls >NUL 2>NUL
IF not errorlevel 1 goto ende
FC /b "%netz%"\protokol.xls "%hdd%"\protokol.xls >NUL 2>NUL
IF not errorlevel 1 goto:eof