Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理-以两种方式删除两个文件夹_Windows_Batch File_Robocopy - Fatal编程技术网

Windows 批处理-以两种方式删除两个文件夹

Windows 批处理-以两种方式删除两个文件夹,windows,batch-file,robocopy,Windows,Batch File,Robocopy,我将一些文件保存在本地驱动器(笔记本电脑)中,并在工作时将文件保存在网络存储器中 我希望两个文件夹具有相同的文件,如果我在一个文件夹中创建/删除或更改文件,则在使用批处理时,另一个文件夹应得到更新 它应该在文档上使用最新版本 因此,我用ROBOCOPY Folder01 Folder02/MIR/R:3/W.20尝试了它,但只有一种方式有效,从Folder01到Folder02,因此如果我在Folder02中创建了一个文件并使用了批处理,该文件就会被删除 然后我尝试将两个文件夹复制到一个临时文件

我将一些文件保存在本地驱动器(笔记本电脑)中,并在工作时将文件保存在网络存储器中

我希望两个文件夹具有相同的文件,如果我在一个文件夹中创建/删除或更改文件,则在使用批处理时,另一个文件夹应得到更新

它应该在文档上使用最新版本

因此,我用
ROBOCOPY Folder01 Folder02/MIR/R:3/W.20
尝试了它,但只有一种方式有效,从Folder01到Folder02,因此如果我在Folder02中创建了一个文件并使用了批处理,该文件就会被删除

然后我尝试将两个文件夹复制到一个临时文件夹中,然后将临时文件复制到两个文件夹中。我用过
ROBOCOPY Folder01温度/XO/E/R:3/W:20

ROBOCOPY Folder02温度/XO/E/R:3/W:20

机器人副本临时文件夹01/MIR/R:3/W.20

机器人副本临时文件夹02/MIR/R:3/W.20

这几乎是完美的,总是使用最新的文档,所有的东西都在那里,但是当我从Folder01中删除一个文件时,它仍然存在于Folder02中,下次我使用批处理时它会回来

对不起,我的英语不好

您好,Tobias

试试@Sachadee提供的这个解决方案,使用
Xcopy

:://Synchro.bat
://SachaDee 2014
@回音关闭和cls
::我们将文件夹设置为同步
设置“Folders=C:\HackooTest E:\Backup\Folder1 E:\Backup\Folder2 E:\Backup\Folder3”
对于(%Folders%)中的%%a,请执行以下操作(
对于(%Folders%)中的%%b,请执行以下操作(
如果不是“%%a”==“%%b”(
设置“VAR%%a%%b=%%a%%b”
)
)
)
对于/f“tokens=2,3 delims=”%%a in('set VAR')Do(
echo xcopy“%%a”“%%b”/E/D/C/Y/I
)
暂停

如果您同时在两个文件夹中工作,
robocopy
应该如何知道文件是在一个文件夹中创建的还是在另一个文件夹中删除的
robocopy
不记得上次同步时它做了什么,所以它只识别源位置和目标位置的当前差异…我知道他不知道是创建的还是删除的,但也许有一种方法可以记录文件夹中的更改或其他内容,以检查文件夹的状态。也许我想要的太多了?对于
robocopy
,你想要的太多了;您需要搜索一个更强大的同步工具,或者您必须自己编写它…使用存档属性。有关信息,请参见
attrib/?
robocopy
xcopy
都有使用此属性的开关。