标题:
[文件操作]
定时更改文件夹名,备份到指定文件夹
[打印本页]
作者:
xhlpp
时间:
2008-9-1 15:22
标题:
定时更改文件夹名,备份到指定文件夹
各位老师,朋友:
我的思路是:
D:\A\123 这个文件夹,我想备份123这个文件夹到D:\B下面,备份之前先改名,以系统当前时间为新的文件夹名.每30分钟一次.
如何实现呢?
可以说详细点吗?
作者:
xhlpp
时间:
2008-9-1 15:25
在线等,请帮助~
谢谢!!
作者:
Batcher
时间:
2008-9-1 15:39
系统时间里面含有半角冒号,它在文件夹的名称中是非法字符,更改一下自己的需求吧。
另,最好给个例子,改名前:xxx,改名后:xxx。
作者:
xhlpp
时间:
2008-9-1 15:44
你好,更改前文件夹名为:123456
更改后可以为:123456a
但:因为每30分钟要备份一次,如果每次都使用123456a这个备份后的文件夹名的话自然会起冲突,又该如何避免呢?
作者:
wangwei4106
时间:
2008-9-1 16:53
额
这个就改成1234560000000001,这样就不会有问题了
作者:
jxfa0086768
时间:
2008-9-1 19:00
@echo off
color 9F
title [定时备份程序]
mode con cols=40 lines=10
:1
md D:\B\%time:~0,5%>nul 2>nul
md d:\B\备份日志>nul 2>nul
xcopy d:\A\123\. D:\B\%time:~0,5%<nul>>d:\B\备份日志\日志.txt>nul 2>nul
echo %time:~0,5%>>d:\B\备份日志\日志.txt>nul 2>nul
echo.
echo.
echo 操作完成请查看日志
ping -n 4 127.1>nul 2>nul
::以上会自动生成一个日志,查看日志就可以知道是否备份成功
SET wait=ping -n 2 127.0.0.1 ^>^nul
for /l %%n in (1800,-1,0) do (
rem cls
echo -----------------------------------
echo 还有 %%n秒 将开始执行备份
echo -----------------------------------
%wait%
cls
)
goto 1
::以上为廷时部分1800秒刚好30分钟,由于你没有要求执行多少轮后退出所以是一直执行的。
作者:
jxfa0086768
时间:
2008-9-1 19:02
因为我也是经常备份一些数据。所以还是有点心得的。呵。这个批应该能满足你的要求吧。
作者:
Batcher
时间:
2008-9-1 19:55
标题:
回复 6楼 的帖子
还是用计划任务吧,这样延时不太好。
作者:
jxfa0086768
时间:
2008-9-2 09:12
我也想过用任务计划.可是他要求的是30分钟一次.
作者:
Batcher
时间:
2008-9-2 09:22
标题:
回复 9楼 的帖子
30分钟一次也可以用计划任务啊,看看帮助:
schtasks /?
作者:
xhlpp
时间:
2008-9-2 11:04
谢谢6楼朋友和cher的赐教.
我去试一下.
计划任务我也试下,我希望30分钟可以备份一次.
谢谢二位!!
作者:
xhlpp
时间:
2008-9-2 11:27
标题:
回复 6楼 的帖子
@echo off
color 9F
title [定时备份程序]
mode con cols=40 lines=10
:1
md D:\bf\%time:~0,5%>nul 2>nul
md D:\bf\备份日志>nul 2>nul
xcopy d:\A\123\. D:\bf\%time:~0,5%<nul>>D:\bf\备份日志\日志.txt>nul 2>nul
echo %time:~0,5%>>D:\bf\备份日志\日志.txt>nul 2>nul
echo.
echo.
echo 操作完成请查看日志
ping -n 4 127.1>nul 2>nul
::以上会自动生成一个日志,查看日志就可以知道是否备份成功
SET wait=ping -n 2 127.0.0.1 ^>^nul
for /l %%n in (1800,-1,0) do (
rem cls
echo -----------------------------------
echo 还有 %%n秒 将开始执行备份
echo -----------------------------------
%wait%
cls
)
goto 1
::以上为廷时部分1800秒刚好30分钟,由于你没有要求执行多少轮后退出所以是一直执行的。
和我的思路是一样的,谢谢您!
我将备份的目录改了一下D:\bf
脚本会在以下2个地方生成目录,但没有日志.
C:\Documents and Settings\Administrator\Files\bf\备份日志
D:\bf\备份日志
而且D:\bf下面也没有备份.文件包是空的.
请帮忙检查一下,有劳了!!
作者:
xhlpp
时间:
2008-9-2 11:42
小弟找人写了一个,可以实现备份,是一分钟备份一次的,用系统时间命名:
备份的文件夹名为:
D:\B\2008-09-02-11-36
D:\B\2008-09-02-11-37
D:\B\2008-09-02-11-38
D:\B\2008-09-02-11-39
.
.
.
:loop
set now=%date:~0,10%-%time:~0,2%-%time:~3,2%
md D:\B\"%now%"
copy D:\A\123 D:\B\"%now%"
ping 127.0.0.1 -n 3
goto loop
请问改成10分钟或者30分钟备份一次又应该怎么写呢?
作者:
Batcher
时间:
2008-9-2 13:58
标题:
回复 13楼 的帖子
这个方法不适合的你的需求,没有修改的必要。
作者:
jxfa0086768
时间:
2008-9-2 14:46
批我测试过是正常的.你没生成日志文件.可能你没有操作复制吧.
还有关于你的怎么改成30分钟.请在论坛搜索一下.廷时的问题.里面有很多可以学习的.呵.很简单的问题自己去学习一下就行了.
欢迎光临 批处理之家 (http://www.bathome.net/)
Powered by Discuz! 7.2