2016-11-09 2 views
1

Je sécurise certains fichiers sur mon disque dur local (ordinateur portable) et j'ai également des fichiers enregistrés sur mon stockage réseau au travail.BATCH - Mirrow deux dossiers dans les deux sens

Je souhaite que les deux dossiers aient les mêmes fichiers. Si je crée/supprime ou modifie un fichier dans un dossier, l'autre dossier doit être mis à jour lorsque j'utilise BATCH.

Il doit utiliser la version la plus récente sur un document.

Donc, je l'ai essayé avec ROBOCOPY Folder01 Folder02 /MIR /R:3 /W.20, cela a fonctionné mais seulement dans un sens, de Dossier01 à Dossier02, donc si j'ai créé un Fichier dans Dossier02 et utilisé le Lot, le Fichier a été supprimé.

Ensuite, j'ai essayé de copier les deux dossiers dans un dossier TEMP, puis de copier les fichiers TEMP dans les deux dossiers. Je
ROBOCOPY Folder01 TEMP /XO /E /R:3 /W:20
ROBOCOPY Folder02 TEMP /XO /E /R:3 /W:20
ROBOCOPY TEMP Folder01 /MIR /R:3 /W.20
ROBOCOPY TEMP Folder02 /MIR /R:3 /W.20
ce fut presque parfait, toujours le nouveau document a été utilisé et tout était là, mais lorsque je supprime un fichier à partir FOLDER01, qui existe encore dans FOLDER02, il viendra la prochaine fois que j'utiliserai mon BATCH.

Désolé pour mon anglais
Salutations, Tobias

+0

Si vous travaillez dans les deux dossiers, comment devraient savoir 'robocopy' si un fichier a été créé dans un dossier ou supprimé dans l'autre? 'robocopy' ne se souvient pas de ce qu'il a fait lors de la dernière synchronisation, donc il reconnaît juste les différences actuelles dans les emplacements source et destination ... – aschipfl

+0

Je sais qu'il ne sait pas si c'est un Créé ou un Supprimé, mais peut-être il y a un moyen Les modifications dans un dossier sont consignées ou quelque chose, pour vérifier l'état du dossier avec cela. _Maybe Je veux trop? _ – Tkay

+1

Pour 'robocopy', vous en voulez trop; vous devez rechercher un outil de synchronisation plus puissant, ou vous devez l'écrire par vous-même ... – aschipfl

Répondre

0

Essayez cette solution fournie par @Sachadee avec Xcopy

:://Synchro.bat 
:://SachaDee 2014 
@echo off&cls 
:: We set Folders to synchonized 
set "Folders= C:\HackooTest E:\Backup\Folder1 E:\Backup\Folder2 E:\Backup\Folder3" 

for %%a in (%Folders%) do (
    for %%b in (%Folders%) do (
    if not "%%a"=="%%b" (
     set "VAR%%a%%b=%%a %%b" 
     ) 
    ) 
) 
for /f "tokens=2,3 delims== " %%a in ('set VAR') Do (
    echo xcopy "%%a" "%%b" /E /D /C /Y /I 
) 
pause