![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 17:08 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 新手--自动建立日期目录及备份文件批处理请高手指点 |
| 可打印版本 1,188 / 6 |
| 第1楼 tt88 | 发表于 2007-03-06 09:53 |
| 新手上路 发帖 5 积分 14 | |
|
新手--自动建立日期目录及备份文件批处理请高手指点 ─────────────────── 版务记录 ──────────────────── 执行:namejm 原标题:请帮忙修改一下....新手... 说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。 提示:修改标题请在当前帖的右下脚点 编辑,修改完毕之后按 编辑帖子 即可。 处罚:因属论坛新人,暂时不予处罚;若三日之后尚未修改标题,将扣除2点积分, 以示惩罚,并由版主强制修改标题。请点击这里阅读论坛发帖规定,以避免在 今后的讨论中违规发帖。 ─────────────────── 版务记录 ──────────────────── @ECHO OFF set dst=%date:~0,4%%date:~5,2%%date:~8,2% if exist backup goto creat_dst md backup :creat_dst if exist backup\%dst% goto xcopy_src md backup\%dst% :xcopy_src xcopy d:\hygl backup\%dst% /e/y 想修改为可以当前日期加时间建立的目录嘛???因为有可能一天之内也要备份多次.这样就不用有备份到出错的数据.无法恢复 还想增加一段删除已经备份十天前的数据 [ Last edited by tt88 on 2007-3-6 at 03:30 PM ] |
|
| 第2楼 PPdos | 发表于 2007-03-06 09:58 |
| 高级用户 发帖 268 积分 783 | |
|
没有 goto eof 将全部执行
|
|
| 第3楼 zhoushijay | 发表于 2007-03-06 10:09 |
| 高级用户 发帖 375 积分 845 | |
|
echo off
set y=%date:~0,4% set m=%date:~5,2% set d=%date:~8,2% set h=%time:~0,2% set min=%time:~3,2% set s=%time:~6,2% md backup\%y%-%m%-%d%-%h%%min%%s% xcopy d:\hygl backup\%y%-%m%-%d%-%h%%min%%s% /e/y 变量截取会因为各版本的%date%格式不同而不同,请自己修改! |
|
| 第4楼 tt88 | 发表于 2007-03-06 20:59 |
| 新手上路 发帖 5 积分 14 | |
|
好...多谢....
已经测试..不过不可以建立的目录不能在 BAKUP 目录里啊....分开了两个文件夹......... [ Last edited by tt88 on 2007-3-6 at 08:08 AM ] |
|
| 第5楼 zhoushijay | 发表于 2007-03-07 01:26 |
| 高级用户 发帖 375 积分 845 | |
|
加上盘符看看 比如 md c:\backup\...
|
|
| 第6楼 tt88 | 发表于 2007-03-07 04:42 |
| 新手上路 发帖 5 积分 14 | |
|
多谢zhoushijay 已经成功建立...
不过有还有删除部分..就没有办法啦... 因为会不停的建立文件...如果太多文件的就多多硬盘也用不了啦. 有什么命令可以保留十天就数据的就可以.... |
|
| 第7楼 axi | 发表于 2007-03-14 05:37 |
| 中级用户 发帖 93 积分 238 来自 GZ | |
|
参考一下以下例子中的日期获取方法:
@echo off color 5e rem 获取当前日期和时间 for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=服务-%%j-%%k-%%l-%%m for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%-%%j-%%k.BAT rem 获取所有服务名称 sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt echo 正在备份当前系统服务到 --- D盘: %FILENAME% echo. echo @color 1e >"d:\%FILENAME%" echo @echo 还原系统服务到: %TIME% %DATE% >>"d:\%FILENAME%" echo @echo. >>"d:\%FILENAME%" echo @pause >>"d:\%FILENAME%" for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config %%j start= %%s >>"d:\%FILENAME%") echo @echo. >>"d:\%FILENAME%" echo @echo 已经把系统服务还原到: %TIME% %DATE% >>"d:\%FILENAME%" echo @echo. >>"d:\%FILENAME%" echo @pause >>"d:\%FILENAME%" del tmpsrv.txt del tmpstype.txt |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |