首页 > 代码库 > 写了一个批处理,可以实现文件备份,自动对比删除冗余文件。
写了一个批处理,可以实现文件备份,自动对比删除冗余文件。
替换的原则是按照文件修改时间,替换掉修改时间教早的。
set desdir=D:set filetypes=pdf uvproj bat c h s lib cpp txt rardel /s /q s:\backtempsrc.t>nuldel /s /q s:\backtempdes.t>nuldel /s /q s:\dellist.t>nulcls@echo off&setlocal enabledelayedexpansionset /p sels="是否扫描数据冗余?(Y/N) sel="if "%sels%"=="Y" goto section1goto section2:section1echo 删除冗余文件-----------------------------------------echo -文件扫描for /f "delims=" %%i in (‘cd‘) do set srcdir=%%ifor /f "delims=" %%i in (‘dir /s /b‘) do (set thistemp=%%iecho !thistemp:%srcdir%=!>>s:\backtempsrc.t)for /f "delims=" %%i in (‘dir /s /b "%desdir%"‘) do (set thistemp=%%iecho !thistemp:%desdir%=!>>s:\backtempdes.t)echo -文件对比for /f "delims=" %%i in (s:\backtempdes.t) do (set flags=1for /f "delims=" %%j in (s:\backtempsrc.t) do (if "%%i"=="%%j" set flags=0)if !flags!==1 (echo %desdir%%%iecho %%i>>s:\dellist.t))if exist s:\dellist.t (for /f "delims=" %%i in (s:\dellist.t) do (rd /s /q "%desdir%%%i">>nuldel /s /q "%desdir%%%i">>nul))echo 冗余文件删除完毕echo *****************************************************echo.echo.:section2echo 开始备份:-------------------------------------------for %%i in (%filetypes%) do (xcopy *.%%i "%desdir%\" /S/I/d/h/r/y)echo _____________________________________________________echo.echo 备份完成 按任意键退出!pause>nuldel /s /q s:\backtempsrc.t>nuldel /s /q s:\backtempdes.t>nuldel /s /q s:\dellist.t>nul
注意,我的电脑里面有个S盘,是个虚拟内存盘,所以讲临时生成的文件放在那里,如果没有的需要改下批处理里的s:\盘符。
(by:cntsw 转载请注明出处)
写了一个批处理,可以实现文件备份,自动对比删除冗余文件。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。