写了一个批处理,可以实现文件备份,自动对比删除冗余文件。

替换的原则是按照文件修改时间,替换掉修改时间教早的。

set desdir=D:set filetypes=pdf uvproj bat c h s lib cpp txt rar

del /s /q s:\backtempsrc.t>nul
del /s /q s:\backtempdes.t>nul
del /s /q s:\dellist.t>nul
cls
@echo off&setlocal enabledelayedexpansion

set /p sels="是否扫描数据冗余?(Y/N) sel="
if "%sels%"=="Y" goto section1
goto section2

:section1
echo 删除冗余文件-----------------------------------------
echo -文件扫描
for /f "delims=" %%i in (‘cd‘) do set srcdir=%%i
for /f "delims=" %%i in (‘dir /s /b‘) do (
set thistemp=%%i
echo !thistemp:%srcdir%=!>>s:\backtempsrc.t
)
for /f "delims=" %%i in (‘dir /s /b "%desdir%"‘) do (
set thistemp=%%i
echo !thistemp:%desdir%=!>>s:\backtempdes.t
)
echo -文件对比
for /f "delims=" %%i in (s:\backtempdes.t) do (
set flags=1
for /f "delims=" %%j in (s:\backtempsrc.t) do (
if "%%i"=="%%j" set flags=0
)
if !flags!==1 (
echo %desdir%%%i
echo %%i>>s:\dellist.t
)
)
if exist s:\dellist.t (
for /f "delims=" %%i in (s:\dellist.t) do (
rd /s /q "%desdir%%%i">>nul
del /s /q "%desdir%%%i">>nul
)
)
echo 冗余文件删除完毕
echo *****************************************************
echo.
echo.

:section2
echo 开始备份:-------------------------------------------
for %%i in (%filetypes%) do (
xcopy *.%%i "%desdir%\" /S/I/d/h/r/y
)
echo _____________________________________________________
echo.
echo 备份完成 按任意键退出!
pause>nul

del /s /q s:\backtempsrc.t>nul
del /s /q s:\backtempdes.t>nul
del /s /q s:\dellist.t>nul

注意,我的电脑里面有个S盘,是个虚拟内存盘,所以讲临时生成的文件放在那里,如果没有的需要改下批处理里的s:\盘符。

(by:cntsw 转载请注明出处)

时间: 2024-10-06 13:07:12

写了一个批处理,可以实现文件备份,自动对比删除冗余文件。的相关文章

用Unity写了一个类似汤姆猫自动检测说话功能

简单的把脚本加到摄像机上就行 下面是我写的脚本,有个问题 因为是自动调用检测的 调用录音unity调用有延时 会出现一些延时小问题,可以参考我的代码 改改 做个通过按钮点击录音结束播放录音还是能实现的 using System.Collections.Generic; using UnityEngine; using System.Collections; public class Tom2 : MonoBehaviour { //public float power = 1; //public

自己写的一个函数,用来自动连接对话框上的两个控件(画线)

void CGasBagCDlg::Linetwoctrl(CPaintDC *dc,int leftid,int rightid,CGasBagCDlg *phd) { //201506161749中北大学韩晓东编制 //功能:可在onpaint中调用,连接两个控件 //参数说明:参数1:onpaint画笔,参数二:控件1ID,参数三:控件2ID,参数四:当前窗口指针 //编写中的问题:参一是MFC的类对象指针,传递MFC类对象只能以指针或引用方式传递,参四可通过this指针获取上下文 //指

用GO按老大要求写了一个小工具,用他脚本下载日志文件,然后让开发自己去下载

package main import ( "archive/tar" "bufio" "bytes" "compress/gzip" "flag" "fmt" "io" "net/http" "os" "os/exec" "regexp" "sort" "t

写了一个简单的CGI Server

之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看,对于学生来说,拿来当简历,含金量还是足够的.如果把程序里所涉及的HTTP协议,Linux下POSIX编程等等搞清楚,我想找工作中肯定是有足够的竞争力的,当然我也只是皮毛而已,不再班门弄斧了,下面简单的说下程序流程吧,方便小伙伴们阅读. 程序源代码:戳我 在说程序流程之前,我先简单说下CGI吧,CG

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require('fs'); 2 var tel = [ 3 "1/2/4/6/a.tpl.html", 4 "1/2/4/7/9/c.tpl.html", 5 "1/3/5/8/b.tpl.html"]; 6 var demo = function (mulu)

可以每隔一段时间自动运行的一个批处理

可以每隔一段时间自动运行的一个批处理  zidong.bat代码 @echo off :Begin Start "d:\print.bat" rem 下面这行是延时代码,300是秒做单位的,300秒就是5分钟,需要多长时间自改一下 @Ping 127.0.0.1 -n 300 Goto Begin 执行后有个问题是每次关不掉print.bat print.bat代码 net session /delete /y 问题有待解决

『数据库』随手写了一个 跨数据库 数据迁移工具

随手写了一个 跨数据库 的 数据迁移工具:>目前支持 SQLServer,MySql,SQLite: >迁移工具 可以自动建表,且 保留 主键,自增列: >迁移工具 基于 Laura.Source  ORM框架 开发: >迁移工具 支持 崩溃恢复(重启迁移工具,将会继续 未完成的 数据迁移): >每张表一个事务(即使  表中有 >100W 的数据,也是一个事务完成): >迁移后 的 自增列 和 原数据库 保持一致: 只是展示一下,直接上图片: 操作工具: 迁移工具

做了一个简易的git 代码自动部署脚本

项目是THINKPHP写的 用了 oschina git 进行版本管理. 公网服务器是CentOS.每次用FTP上传很麻烦. 所以想到了在服务器上安装一个GIT进行 pull代码.因为我的远程服务器数据库和本地不一样,所以代码pull后还需要修改 几个config.php数据库配置文件. 所以想再git 代码更新后,要自动执行config.php文件的替换或者修改. 其中看到这里讨论http://www.v2ex.com/t/81173  git hook 然后看了下比较麻烦.也看不懂. 所以就

推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)

http://www.csdn.net/article/2014-05-04/2819586-the-best-xcode-plugins 5. KSImageNamed KSImageNamed是一款能够帮助开发者在Xcode中自动补全图片文件名称的插件,其开发者Kent Sutherland来自美国波士顿.KSImageNamed支持NSImage和UIImage,当开发者写到"[UIImage imaged:"时,便会自动将项目中的图片名称提示出来.此外,KSImageNamed