[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 定时更改文件夹名,备份到指定文件夹

各位老师,朋友:
我的思路是:
D:\A\123 这个文件夹,我想备份123这个文件夹到D:\B下面,备份之前先改名,以系统当前时间为新的文件夹名.每30分钟一次.
如何实现呢?

可以说详细点吗?

在线等,请帮助~
谢谢!!

TOP

系统时间里面含有半角冒号,它在文件夹的名称中是非法字符,更改一下自己的需求吧。
另,最好给个例子,改名前:xxx,改名后:xxx。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

你好,更改前文件夹名为:123456

更改后可以为:123456a

但:因为每30分钟要备份一次,如果每次都使用123456a这个备份后的文件夹名的话自然会起冲突,又该如何避免呢?

TOP


这个就改成1234560000000001,这样就不会有问题了
要想提高多做,多想,多问!
空间http://www.wangwei4106.ys168.com

TOP

@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分钟,由于你没有要求执行多少轮后退出所以是一直执行的。

TOP

因为我也是经常备份一些数据。所以还是有点心得的。呵。这个批应该能满足你的要求吧。

TOP

回复 6楼 的帖子

还是用计划任务吧,这样延时不太好。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我也想过用任务计划.可是他要求的是30分钟一次.

TOP

回复 9楼 的帖子

30分钟一次也可以用计划任务啊,看看帮助:
schtasks /?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢6楼朋友和cher的赐教.
我去试一下.
计划任务我也试下,我希望30分钟可以备份一次.

谢谢二位!!

TOP

回复 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下面也没有备份.文件包是空的.

请帮忙检查一下,有劳了!!

TOP

小弟找人写了一个,可以实现备份,是一分钟备份一次的,用系统时间命名:

备份的文件夹名为:
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分钟备份一次又应该怎么写呢?

TOP

回复 13楼 的帖子

这个方法不适合的你的需求,没有修改的必要。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

批我测试过是正常的.你没生成日志文件.可能你没有操作复制吧.
还有关于你的怎么改成30分钟.请在论坛搜索一下.廷时的问题.里面有很多可以学习的.呵.很简单的问题自己去学习一下就行了.

TOP

返回列表