中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 15:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 计划任务+批处理实现按文件名自动备份 查看 1,100 回复 7
楼 主 计划任务+批处理实现按文件名自动备份 发表于 2007-03-01 23:57 ·  中国 四川 成都 电信
新手上路
积分 10
发帖 4
注册 2007-03-01 23:19
19年会员
UID 80497
性别 男
状态 离线
前面提问可能表达不对,没有解决到问题,我想了下把问题改了改,大家再帮我看看.
感激不尽!

我用计划任务+批处理,来实现这个功能.
计划任务设置为每周日晚上12点启动批处理.
批处理的作用是备份今天(只是星期天)data0007_03_04_18_00这个日志.
每次批处理备份的都是当前星期天的这个日志,比如下个星期天,这个批处理就备份data0007_03_11_18_00

[ Last edited by 29955 on 2007-3-1 at 05:28 PM ]
2 发表于 2007-03-02 00:46 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
在你原来的P前加上对%date%的判断,如果是星期日再执行。。。。。
3 发表于 2007-03-02 00:52 ·  中国 四川 成都 电信
新手上路
积分 10
发帖 4
注册 2007-03-01 23:19
19年会员
UID 80497
性别 男
状态 离线
slore,我是新手,不太懂,多多帮忙,写一个全点的好么
执行时间我可以通过计划任务来控制,关键问题是如何只拷贝根据当前系统时间拷贝文件名是本周日的18点的日志文件呢,比如本周日时18点时产生文件:data0007_03_04_18_00
,我怎么写才能配合计划任务只备份这个文件到指定位置,而不把上一周的周日文件也备份进去呢
4 发表于 2007-03-02 01:13 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
set timename=%date:~2,8%
set timename=%timename:-=_%
echo data00%timename%_18_00
5 发表于 2007-03-02 06:28 ·  中国 四川 成都 电信
新手上路
积分 10
发帖 4
注册 2007-03-01 23:19
19年会员
UID 80497
性别 男
状态 离线
请帮我重新看看吧
6 发表于 2007-03-02 07:50 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
不建议12点运行(不知道会不会算星期1?)
你当天6点以后随便什么时候执行:

@echo off
set timename=%date:~2,8%
set timename=%timename:-=_%
@rem 我下面用echo显示命令!你要执行的话把echo去掉
echo copy D:\log\data00%timename%_18_00 D:\backup\
pause>nul
7 发表于 2007-03-03 21:47 ·  中国 四川 成都 电信
新手上路
积分 10
发帖 4
注册 2007-03-01 23:19
19年会员
UID 80497
性别 男
状态 离线
提示:系统找不到文件...
我是把系统时间调到上个星期天(路径我也按我的日志路径改过了还是不行),刚好里面有上个星期天18点的日志,可是却找不到文件...是不是前面的定义有问题呢.

[ Last edited by 29955 on 2007-3-3 at 08:48 AM ]
8 发表于 2007-03-03 21:54 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off
set timename=%date:~2,8%
set timename=%timename:-=_%
@rem 我下面用echo显示命令!你要执行的话把echo去掉
echo copy D:\log\data00%timename%_18_00 D:\backup\
pause>nul
先echo 看看……把返回的复制看看。
论坛跳转: