![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 21:15 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 都进来看看吧!批处理文件对比相关请教! |
| 可打印版本 1,002 / 4 |
| 第1楼 liuwushu | 发表于 2006-12-20 11:07 |
| 初级用户 发帖 35 积分 93 | |
|
都进来看看吧!批处理文件对比相关请教! 问个关于批处理的问题,怎样用批处理实现 文件夹1 对比 文件夹2,删除 文件夹1 多余文件。
万分感谢赐教! |
|
| 第2楼 a9319751 | 发表于 2006-12-20 23:07 |
| 中级用户 发帖 170 积分 439 | |
|
@echo off && setlocal enabledelayedexpansion
::主要用于全盘远程对比更新::::::::::::: ::如果本地测试请自行修改::::::::::::::: ::本地对比更新已通过测试::::::::::::::: ::远程对比更新未测试::::::::::::::::::: ::此代码效率不高,只为演示::::::::::::: :: code by zzlike 2006-12-11 CMD@XP:::: ::::::::::::::::::::::::::::::::::::::: ::******配置文件开始*****************:: ::::::::源目录::::::::::::::::::::::::: set sd=\\192.168.0.14\d\ ::::::::目标盘::::::::::::::::::::::::: set dd=d:\ ::******配置文件结束*****************:: ::::::::映射网络路径::::::::::::::::::: net use x: %sd% ::::::::生成文件列表::::::::::::::::::: echo. > sd.txt echo. > dd.txt for /r "x:\" %%i in (*) do echo %%~pnxi >> sd.txt for /r "%dd%" %%i in (*) do echo %%~pnxi >> dd.txt ::::::::对比文件列表并删除多余文件::::: for /f "tokens=*" %%i in (dd.txt) do ( find "%%i" sd.txt || del /a /f /q "%dd%%%i" ) ::::::::删除空文件夹::::::::::::::::::: set num=0 for /f "delims=" %%i in ('dir /ad /b /s "%dd%"') do ( for /f %%j in ('dir /a "%%i"') do set /a num+=1 if !num! lss 8 attrib -s -h -r -a "%%i" && rd /s /q "%%i" set num=0 ) ::::::::更新文件::::::::::::::::::::::: xcopy /d /e /i /y /c /q /h /r /k "x:\*" "%dd%*" ::::::::清理临时文件并断开网络路径::::: net use x: /delete /y del /a /f /q sd.txt del /a /f /q dd.txt |
|
| 第3楼 vkill | 发表于 2006-12-21 09:46 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
好象不需要生成临时文件就可以
|
|
| 第4楼 liuwushu | 发表于 2006-12-21 15:41 |
| 初级用户 发帖 35 积分 93 | |
|
谢谢
|
|
| 第5楼 liuwushu | 发表于 2006-12-21 15:42 |
| 初级用户 发帖 35 积分 93 | |
|
谢谢
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |