中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 04:16
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 备份的批处理
可打印版本  1,980 / 19
第1楼 qwertl 发表于 2009-05-22 12:25
中级用户 发帖 243 积分 461
备份的批处理
查找本机的accon.dat文件,可能在不同盘符的不同路径,也可能有几个,现要编个批处理,能较高效的搜索找到这个文件的完整路径,然后将其也有可能多个均压缩到F:\backup下,以当前日期为文件名的压缩包,要不出现任何窗口提示

再做该批处理做计划任务.

请说说不同的方法
第2楼 Hanyeguxing 发表于 2009-05-22 14:09
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
批处理使用backup.bat:
@echo off
erase %temp%\han.txt>nul 2>nul
for %%i in (C:,D:,E:,F:) do dir %%i /b/s|findstr /i accon.dat >>%temp%\han.txt
for /f "delims=" %%j in (%temp%\han.txt) do winrar.exe A -CFG- -IBCK-INUL -m5 -agYYYYMMDD F:\backup\ %%j

隐藏cmd 窗口使用backup.vbs
CreateObject("Wscript.Shell").run "F:\backup\backup.bat",0

任务计划使用
sc config Schedule start= auto & net start Schedule
at 20:05 F:\backup\backup.vbs

[ Last edited by Hanyeguxing on 2009-5-22 at 14:11 ]
第3楼 Hanyeguxing 发表于 2009-05-22 14:14
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
说明
winrar.exe,根据情况,一般需要指定他的路径
YYYY 定义4位数字的年
MM 定义2位数字的月
DD 定义2位数字的日
如果在格式化字符串的第一个字符是‘+’,日期字符串和基本压缩文件名位置交换,所以日期将在压缩文件名之前。
开关 -INUL - 禁用错误信息
开关 -CFG- - 忽略默认配置和环境变量
开关 -IBCK - 在后台运行 WinRAR
开关 -M<n> - 设置压缩方式
任务计划可以用at,也可以使用Schtasks
第4楼 tireless 发表于 2009-05-23 10:39
银牌会员 发帖 1,122 积分 2,025
backup.bat


添加计划任务:
第5楼 qwertl 发表于 2009-05-23 11:09
中级用户 发帖 243 积分 461
二楼的方法dir %%i /b/s |findstr /i accon.dat 太慢了
用everything的命令提示符es.exe速度要快多了

http://www.voidtools.com/ 附上everything 及es.exe下载网址



楼上的好象只是找根目录下的批处理

[ Last edited by qwertl on 2009-5-23 at 11:22 ]
第6楼 tireless 发表于 2009-05-23 11:47
银牌会员 发帖 1,122 积分 2,025
Re 5 楼
会搜索子目录。

@echo of
setlocal enabledelayedexpansion
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%a: set Files=!Files! "%%a:\accon.dat"
)
"C:\Program Files\winrar\rar.exe" a -r -inul -agYYYYMMDD F:\backup\ !Files!


[ Last edited by tireless on 2009-6-4 at 03:50 ]
第7楼 qwertl 发表于 2009-06-04 00:35
中级用户 发帖 243 积分 461
for %%i in (C:,D:,E:,F:) do dir %%i /b/s|findstr /i accon.dat >>%temp%\han.txt

这句如果要加多个文件accon.cfg在一句命令里要怎样写?
第8楼 tireless 发表于 2009-06-04 03:42
银牌会员 发帖 1,122 积分 2,025
re 7 楼




或者把 4 楼的改成:

@echo of
setlocal enabledelayedexpansion
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%a: set Files=!Files! "%%a:\accon.dat" "%%a:\accon.cfg"
)
"C:\Program Files\winrar\rar.exe" a -r -inul -agYYYYMMDD F:\backup\ !Files!


[ Last edited by tireless on 2009-6-4 at 03:56 ]
第9楼 qwertl 发表于 2009-06-04 23:27
中级用户 发帖 243 积分 461
谢谢楼上的高人.
第10楼 不得不爱 发表于 2009-06-05 00:25
超级版主 发帖 2,044 积分 5,310 来自 四川南充
我来个简单点的,就一个命令搞定!


[ Last edited by 不得不爱 on 2009-6-5 at 03:21 ]
第11楼 tireless 发表于 2009-06-05 00:52
银牌会员 发帖 1,122 积分 2,025
Originally posted by 不得不爱 at 2009-6-5 12:25 AM:
我来个简单点的,就一个命令搞定!
第12楼 不得不爱 发表于 2009-06-05 03:24
超级版主 发帖 2,044 积分 5,310 来自 四川南充
可是我测试是没有问题的啊,-r就会搜索子目录啊 ,不会是你的rar不支持-r吧?(text 的确是多余的)
第13楼 tireless 发表于 2009-06-05 05:15
银牌会员 发帖 1,122 积分 2,025
我测试的结果:
只添加了根目录的 a.txt:


会添加包括子目录的 a.txt:


[ Last edited by tireless on 2009-6-5 at 05:18 ]
第14楼 不得不爱 发表于 2009-06-06 07:13
超级版主 发帖 2,044 积分 5,310 来自 四川南充
知道在这么回事了 ,原来是rar(在"C:\Program Files\winrar\rar.exe" a -r -inul -agYYYYMMDD .\root_ -na.txt d: g:这个命令里)读取当前盘时会只读当前目录树!
应该修改为:

这样就不会出错了!
第15楼 tireless 发表于 2009-06-06 12:46
银牌会员 发帖 1,122 积分 2,025
re 14 楼
我这里一样只打包了根目录的文件。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023