一个比较“子文件夹差异”的 DOS 批处理脚本
2006-09-14 23:59
495 查看
鉴于自诩为“程序员大本营”的 csdn blog 却对 <pre> 这个最适合贴代码的标签不支持,致使代码变为1行的现象,我已将该文放在我的 Wiki 上,有兴趣的可以浏览:http://maclife.net/wiki/index.php?title=%E7%94%A8%E4%BA%8E%E6%AF%94%E8%BE%83%E2%80%9C%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E5%88%97%E8%A1%A8%E5%B7%AE%E5%BC%82%E2%80%9D%E7%9A%84_DOS_%E6%89%B9%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC
该脚本来比较自上次执行该脚本以来,当前文件夹的子文件夹与上次的差别
该脚本来比较自上次执行该脚本以来,当前文件夹的子文件夹与上次的差别
@echo off setlocal set dircmd=/ad /on /b if not exist old.txt ( dir > old.txt goto lblEndLocal ) echo. > log.txt dir > new.txt echo N | comp old.txt new.txt echo. if "%errorlevel%" == "0" ( goto lblEndLocal ) echo -------------------------------------- >> log.txt echo 已删除的文件夹: >> log.txt for /F "tokens=*" %%o in (old.txt) do ( call :lblSubProcessDeleted "%%o" ) echo. >> log.txt echo -------------------------------------- >> log.txt echo 新增的文件夹: >> log.txt for /F "tokens=*" %%n in (new.txt) do ( call :lblSubProcessAdded "%%n" ) copy /y new.txt old.txt REM 发送邮件 if defined CYGWIN_HOME ( %CYGWIN_HOME%/bin/email --version if "%ERRORLEVEL%" == "0" ( %CYGWIN_HOME%/bin/email --subject "文件夹有变化" account@domain.com < log.txt ) else ( echo 未安装 email 工具 ) ) else ( echo 未安装 cygwin 仿 unix 环境 ) :lblEndLocal endlocal goto :EOF :lblSubProcessDeleted findstr /x /c:%1 new.txt > NUL REM echo %errorlevel% if "%errorlevel%" == "0" ( REM echo "%~1 found in new.txt!" ) else ( REM echo %~1 not found in new.txt! it's DELETED echo %1 >> log.txt ) goto :EOF :lblSubProcessAdded findstr /x /c:"%~1" old.txt > NUL REM echo %errorlevel% if "%errorlevel%" == "0" ( REM echo %~1 found in old.txt! ) else ( REM echo %~1 not found in old.txt! it's ADDED echo %1 >> log.txt ) goto :EOF
相关文章推荐
- 一个简单比较oracle两个用户下表数据差异的python脚本
- 一个比较完整的Inno Setup 安装脚本
- 一个Windows界面的TableDiff表比较工具,可比较表记录差异
- 一个简单的SVN备份批处理脚本
- 批处理--工作当中获取本机ip地址然后执行一个循环启动脚本
- Beyond Compare脚本:比较文件并生成html格式的差异报告
- 一个比较完整的Inno Setup 安装脚本(转)
- vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
- 一个比较完整的Inno Setup 安装脚本
- 一个简单的利用ini配置文件以及用户输入的交互进行文件夹内容拷贝的批处理文件脚本的实现
- Beyond Compare脚本:比较文件并生成html格式的差异报告
- 用php脚本比较MySQL两个数据库的结构差异
- 利用eclipse比较两个文件的代码差异或者一个文件不同版本之间的异同
- (转)分享一个技巧,利用批处理调用ruby脚本(可能你为路径苦恼)
- Dos 写的一个简单脚本 + 乱码问题
- vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
- python:一个比较有趣的脚本
- 找到一个比较详细的批处理命令的介绍
- 一个比较完整的Inno Setup 安装脚本 - 增加了对ini文件设置的功能
- 双重循环并对第一次出现特殊处理—一个很纠结的dos脚本