我有两个目录(带子目录),A和B. B是A的旧副本,因此可能存在:
1)A中的文件,但不是B
2)B中的文件,但不是A
3)A中的文件使用较新的“上次修改”时间戳
我想通过将它们复制到另一个目录C
来识别所有这些我已经尝试循环遍历A中的所有文件并调用另一批来比较时间戳,但我无法在B中找到相应的文件。
感谢您的帮助。
编辑:换句话说:“B”是我的“A”备份。现在我想在“C”
中创建差异备份答案 0 :(得分:0)
是否可以使用rsync?
rsync -azvrc <source> <destination>
答案 1 :(得分:0)
这将使用xcopy /l
检索A中与B不同的文件列表。然后将每个文件复制到C中的已充实文件夹
初始pushd
允许使用xcopy
命令返回表单中的相对路径
.\file.ext
.\folder\file.ext
delims=.
删除了初始点,第二个for
连接了C文件夹路径和检索到的文件路径,以确定最终目标。
@echo off
setlocal enableextensions disabledelayedexpansion
set "folderA=%cd%"
set "folderB=c:\temp"
set "folderC=c:\temp2"
pushd "%folderA%"
for /f "tokens=* delims=." %%a in ('xcopy . "%folderB%" /dehyil ^| find ".\"') do for %%b in ("%folderC%%%a") do (
echo %%b
if not exist "%%~dpb" mkdir "%%~dpb" >nul
copy /y ".%%a" "%%~dpb" >nul
)
popd