中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何按时间断备份文件及文件夹!!
作者:
标题: [求助]如何按时间断备份文件及文件夹!! 上一主题 | 下一主题
xiaohangdos
初级用户





积分 27
发帖 10
注册 2006-12-14
状态 离线
『楼 主』:  [求助]如何按时间断备份文件及文件夹!!

文件夹aa , bb

把aa 文件夹下面于令天2点至5点生成的文件  复制到 bb 于令天2点至5点生成的文件夹下。

再把 bb文件夹下 于令天2点至5点生成的 文件  及 文件夹 都复制到  服务器上。。

小弟不才,无法写出来,,在此请教一下各位!!

2008-7-14 12:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

令天是哪一天?
呵呵,你给出的条件是不是可以多点,不要让帮你的人自己去假设条件吧。



批处理之家新域名:www.bathome.net
2008-7-14 12:13
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

仅供参考
@echo off
setlocal enabledelayedexpansion
rem 设置日期时间的格式
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sTimeFormat /t REG_SZ /d HH:mm:ss /f>nul
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyyMMdd /f>nul
rem 设置源文件夹
set SrcDir=C:\test\a
rem 设置目标文件夹
set DstDir=C:\test\b
rem 假设要删除上午9点到下午5点之间创建的文本文件
set begint=%date%09
set endt=%date%17
for %%a in ("%SrcDir%\*.txt") do call :getdt "%%a"
goto :eof
:getdt
for /f "skip=5 tokens=1,2" %%a in ('dir /tc %1') do (
  if "%%a%%b" geq "%begint%" (
    if "%%a%%b" leq "%endt%" (
      del /q %1
    )
  )
  goto :eof
)




2008-7-14 14:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  

我晕,hat兄是不是考虑得太复杂了啊,居然还动用了注册表。



批处理之家新域名:www.bathome.net
2008-7-14 16:11
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

考虑到日期时间格式可能和楼主的不同,我也懒得问了,直接来硬算了,呵呵。



2008-7-14 16:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xiaohangdos
初级用户





积分 27
发帖 10
注册 2006-12-14
状态 离线
『第 6 楼』:  

不好意思,没表达清楚..

因为是每天都要收数据的...所以令天是指当前系统日期..

如令天是7月14号(鬼节呀,,晕)
找出aa文件夹下  所有 7月14号2点至5点生成的 文件 及文件夹
如果找到 就复制到 bb 下面的一文件夹内
否者,就结束...
-----------------------------------------------------------
至于"bb 下面的一文件夹"   如果在aa  下有文件在2 点至5点生成的话 就会生成"bb 下面的一文件夹"   这文件夹是系统自动生成以一串数字命名的.所以文件夹的名称是不知道的..... 只能用创建时间判断...

不知这样....

[ Last edited by xiaohangdos on 2008-7-14 at 09:52 PM ]

2008-7-14 21:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 7 楼』:  

楼主给的条件仍是不够,没办法,只有自己假设了:
aa bb 均为d:\test 下的文件夹,系统时间格式为2008-07-16 星期三 8:40:21.46
@echo off
set "code=abcdefghijklmnopqrstuvwxyz"&set n=26
:again
set /a a=%random%%%%n%
call,set a=%%code:~%a%,1%%
call,set code=%%code:%a%=%%
set str=%str%%a%&set /a n-=1
if %n% gtr 26 goto again
set t=%date:~,-4%
for /f "delims=" %%i in ('dir /s /b d:\test\aa') do if "%%~ti" gtr "%t%02:00" if "%%~ti" lss "%t%05:00" xcopy /y "%%i" d:\test\bb\%str%\
[ Last edited by zw19750516 on 2008-7-16 at 09:49 AM ]



批处理之家新域名:www.bathome.net
2008-7-16 09:35
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
xiaohangdos
初级用户





积分 27
发帖 10
注册 2006-12-14
状态 离线
『第 8 楼』:  

好像没效果。。

不过谢谢楼上的。。。。
我还是慢慢学着,,以后自己来写。。

2008-7-16 13:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: