2 Wege Ordner Syncronisierung per Batch
Gesucht wird eine Batch um Ordner zu Sync.
Hallo,
ich habe folgendes Problem bzw. suche ein Batch Skript.
Ich würde gerne einen Ordner den ich Lokal auf meinem PC habe und auf meinem USB Stick miteinandere Syncronisieren.
Sprich, beide Ordner sollen wenn ich eine Batch Datei Ausführe anschließen Dateien kopieren/löschen/überschreiben und das per 2 WegeSystem.
Ich habe Bereits Software gefunden die das macht jedoch leider nur Umständlich per GUI und auch nur dort mit 3-4 Klicks.
Aber das will ich automatisieren z.B. das beim Anmelden bzw Abmelden automatisch das Skript läuft.
Kennt einer Alternativen ? Leider Hilft mir hier RoboCopy oder Synctools von Microsoft nicht weiter da die dieses nicht bieten.
ps. Das gleiche würde ich gerne auf einem Benutzer Account auf einem Terminal-Server machen.
Ich bin auf einem Terminal-Server eingelogged dort gibt es ein Netzlaufwerk z.B. P. Diese würde ich gerne per über die Freigabe möglichkeiten bei RemoteDesktop z.B. auf \\tsclient\c\LokaleKopie mit einem Lokalen Ordner Syncronisieren damit auch dort die Daten immer Aktuell gehalten werden. Und ich auf Offline Dateien verändern kann. Vielleicht mach ich es auch einfach nur zu Kompliziert und einer kennt einen Einfache Lösung. ( ps. das Notebook ist also Domaincomputer im Netzwerk und gearbeitet wird nur von zuhause aus per VPN Verbindung. )
Grüße
Marcel
Hallo,
ich habe folgendes Problem bzw. suche ein Batch Skript.
Ich würde gerne einen Ordner den ich Lokal auf meinem PC habe und auf meinem USB Stick miteinandere Syncronisieren.
Sprich, beide Ordner sollen wenn ich eine Batch Datei Ausführe anschließen Dateien kopieren/löschen/überschreiben und das per 2 WegeSystem.
Ich habe Bereits Software gefunden die das macht jedoch leider nur Umständlich per GUI und auch nur dort mit 3-4 Klicks.
Aber das will ich automatisieren z.B. das beim Anmelden bzw Abmelden automatisch das Skript läuft.
Kennt einer Alternativen ? Leider Hilft mir hier RoboCopy oder Synctools von Microsoft nicht weiter da die dieses nicht bieten.
ps. Das gleiche würde ich gerne auf einem Benutzer Account auf einem Terminal-Server machen.
Ich bin auf einem Terminal-Server eingelogged dort gibt es ein Netzlaufwerk z.B. P. Diese würde ich gerne per über die Freigabe möglichkeiten bei RemoteDesktop z.B. auf \\tsclient\c\LokaleKopie mit einem Lokalen Ordner Syncronisieren damit auch dort die Daten immer Aktuell gehalten werden. Und ich auf Offline Dateien verändern kann. Vielleicht mach ich es auch einfach nur zu Kompliziert und einer kennt einen Einfache Lösung. ( ps. das Notebook ist also Domaincomputer im Netzwerk und gearbeitet wird nur von zuhause aus per VPN Verbindung. )
Grüße
Marcel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82452
Url: https://administrator.de/contentid/82452
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
8 Kommentare
Neuester Kommentar
Per robocopy müste das gehn. Der Parameter /MIR sorge dabei für eine Spiegelung des Zielverzeichnisses mit der Quelle.
Nur mit Boardmitteln geht es auch. Hier im Forum wurde mal diese Batch gepostet:
Auch hier mus man halt Quelle und Ziel angeben. Willman kein Logfile haben kann man ja die betreffenden Zeilen abändern.
miniversum
Nur mit Boardmitteln geht es auch. Hier im Forum wurde mal diese Batch gepostet:
@echo off
set src=F:\quelle
set dst=F:\ziel
set log="F:\SyncLog %date%.txt"
echo Log vom: %Date% %Time% >> "%log%"
echo Dateien werden kopiert: >> "%log%"
if %src:~-1%==\ set src=%src:~0,-1%
xcopy "%src%" "%dst%" /c /s /e /r /v /d /y /i /h /f /o /x >> "%log%"
echo Dateien werden geloescht: >> "%log%"
for %%L in (d e f g h i j k l m n o p q r s t u v w x y z) do if not exist %%L:\NUL set LWdst=%%L:
Subst %LWdst% "%dst%"
for /R %LWdst%\ %%i in ("*.*") do @FC "%%i" "%src%%%~pnxi" >nul || del /s /q "%%i" && echo %%i >> "%log%"
Subst %LWdst% /D
Auch hier mus man halt Quelle und Ziel angeben. Willman kein Logfile haben kann man ja die betreffenden Zeilen abändern.
miniversum
Aber ist das wie du es willst nicht ein Prinzipielles Problem bei Syncronisation?
Woher will das Programm den wissen was es kopieren udn was löschen soll?
Annahme: Ich möchte die folgenden beiden Verzeischnisse synkronisieren.
Verzeichnis1:
Datei1.txt
Ordner1
Datei2.txt
Verzeichnis2:
Datei1.txt
Ordner2
Datei3.txt
Was soll jetzt passieren?
Soll Ordner1 in Verzeichnis 2 kopiert werden oder soll er im Verzeichnis1 gelöscht werden?
Wenn du sowas willst dann müßtest du eine Verzeichnisüberwachung haben die dir speichtert was wann gemacht wurde mit den Dateien um zu wissen ob z.B. Ordner1 zuletzt erstellt wurde oder gelöscht.
Woher will das Programm den wissen was es kopieren udn was löschen soll?
Annahme: Ich möchte die folgenden beiden Verzeischnisse synkronisieren.
Verzeichnis1:
Datei1.txt
Ordner1
Datei2.txt
Verzeichnis2:
Datei1.txt
Ordner2
Datei3.txt
Was soll jetzt passieren?
Soll Ordner1 in Verzeichnis 2 kopiert werden oder soll er im Verzeichnis1 gelöscht werden?
Wenn du sowas willst dann müßtest du eine Verzeichnisüberwachung haben die dir speichtert was wann gemacht wurde mit den Dateien um zu wissen ob z.B. Ordner1 zuletzt erstellt wurde oder gelöscht.
Und nun komme ich auf mein obiges Beispiel zurück.
Stell dir vor in beiden Verzeihnissen würde es Ordner1 geben und einer löscht ihn in Verzeichnis2. Dann wäre danach der richtige Schritt ja ihn auch im Verzeichnis1 zu löschen.
Ich hoffe du erkennst die zwickmühle. Durch reines Vergleichen der Verzeichnisse ist es nicht möglich herauszubekommen ob in dem einen was neu erstellt wurde oder im andern gelöscht. Und welche Aktion daraus folgen soll, löschen im einen oder kopieren ins andere.
Also entweder nur kopieren ohne löschen (siehe die Lösung mit xcopy /D), oder 1 Wege (wie im ersten Posting mit robocopy /MIR), oder eben eine Art Überwachung die protokolliert was dann gemacht wurde und anhand dieser dann weiter verfahren.
Stell dir vor in beiden Verzeihnissen würde es Ordner1 geben und einer löscht ihn in Verzeichnis2. Dann wäre danach der richtige Schritt ja ihn auch im Verzeichnis1 zu löschen.
Ich hoffe du erkennst die zwickmühle. Durch reines Vergleichen der Verzeichnisse ist es nicht möglich herauszubekommen ob in dem einen was neu erstellt wurde oder im andern gelöscht. Und welche Aktion daraus folgen soll, löschen im einen oder kopieren ins andere.
Also entweder nur kopieren ohne löschen (siehe die Lösung mit xcopy /D), oder 1 Wege (wie im ersten Posting mit robocopy /MIR), oder eben eine Art Überwachung die protokolliert was dann gemacht wurde und anhand dieser dann weiter verfahren.