" id="b1img" alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO">
  • " alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" />
  • " alt="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" title="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" />
  • " alt="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" title="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" />

利用批处理bat备份服务器文件并以时间来命名文件

程序设计2010-07-05 itlogger阅读(934) 评论(1)

服务器进行数据备份,使备份文件名以时间来命名,利用批处理和任务计划可以轻松完成:
rem 关于提取date,time输出结果的一个批处理
rem “:”(冒号)和“~”波浪号必不可少!
rem “~”后的数字:为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。
rem “,”后的数字:为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。
echo %date%
echo %date:~4%
::下行表示舍弃前0位,取到第10位(即取输出结果的前10位)
echo %date:~0,10%
echo %date:~4,-5%
pause
echo %time%
echo %time:~-3%
echo %time:~2,-3%
pause
echo %date:~4% %time:~0,-3%
pause

BTW

使用批处理产生日期(时间)文件、文件夹 帮别人整Sql     server自动备份
发现无法使用网络映射驱动器作为备份文件存放路径
而 本机磁盘空间实在是不够
于是决定在本机只备份最新2天数据
再写个批处理,做成系统调度
每周将备份数据复制到网络驱动器上存档

从网上搜到批处理产生日期文件的办法
下面是实现的比较好的

批处理文件:
@echo off
set aFile=bak-%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%
set bFile=bak-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
set cFile=bak-%DATE%
echo Afile=%aFile%
echo Bfile=%bFile%
echo Cfile=%cFile%

输出:
Afile=bak-20061219
Bfile=bak-113202
Cfile=bak-星期二 2006-12-19

于是备份bat就好写了
@echo off
echo 正在备份数据到网络驱动器。。。
set folder=%DATE%
md “y:\%folder%”
copy d:\DataBak\*.BAK “y:\%folder%”
echo 备份完毕。

——————————————————————————————————
@echo off
set AFile=bak-%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%
set BFile=bak-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
echo AFile=%AFile%.rar
echo BFile=%BFile%.rar
运行此批处理的结果:
AFile=bak-20060109.rar ——- 年月日 — 8位
BFile=bak-140650.rar ———- 时分秒 — 6位

另:如果小时数只有一位数字,造成中间有空格而出错的问题,请使用如下方法补0
set hh=%time:~0,2%
if /i %hh% LSS 10 (set hh=0%time:~1,1%)

转载请注明 :IT樵客
文章地址:http://www.itlogger.com/program/1143.html
标签:, ,
相关文章

One thought on “利用批处理bat备份服务器文件并以时间来命名文件

  1. 谢谢分享,很有用的技巧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注