中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 新手--自动建立日期目录及备份文件批处理请高手指点
作者:
标题: 新手--自动建立日期目录及备份文件批处理请高手指点 上一主题 | 下一主题
tt88
新手上路





积分 14
发帖 5
注册 2007-3-6
状态 离线
『楼 主』:  新手--自动建立日期目录及备份文件批处理请高手指点


─────────────────── 版务记录 ────────────────────
执行: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 ]

2007-3-6 09:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 2 楼』:  

没有 goto eof 将全部执行



菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2007-3-6 09:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 3 楼』:  

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%格式不同而不同,请自己修改!

2007-3-6 10:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tt88
新手上路





积分 14
发帖 5
注册 2007-3-6
状态 离线
『第 4 楼』:  

好...多谢....
已经测试..不过不可以建立的目录不能在 BAKUP 目录里啊....分开了两个文件夹.........

[ Last edited by tt88 on 2007-3-6 at 08:08 AM ]

2007-3-6 20:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 5 楼』:  

加上盘符看看  比如 md c:\backup\...

2007-3-7 01:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tt88
新手上路





积分 14
发帖 5
注册 2007-3-6
状态 离线
『第 6 楼』:  

多谢zhoushijay  已经成功建立...

不过有还有删除部分..就没有办法啦...
因为会不停的建立文件...如果太多文件的就多多硬盘也用不了啦.

有什么命令可以保留十天就数据的就可以....

2007-3-7 04:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
axi
中级用户

脚本爱好者


积分 238
发帖 93
注册 2007-3-11
来自 GZ
状态 离线
『第 7 楼』:  

参考一下以下例子中的日期获取方法:

@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

2007-3-14 05:37
查看资料  发短消息 网志  OICQ (453623262)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: