Fantacy
calmzeal's code life
posts - 85,comments - 152,trackbacks - 14
昨天帮别人整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 备份完毕。


0
0
(请您对文章做出评价)
« 上一篇:在Asp.Net 2.0中使用Css Tab Design样式美化菜单
» 下一篇:在2003下玩大航海的问题解决办法(其他游戏报directX错误的估计差不多)
posted on 2006-12-19 11:51 calmzeal 阅读(4110) 评论(18)  编辑 收藏 网摘 所属分类: Code Snippets

FeedBack:
#1楼[楼主]
2006-12-19 12:45 | calmzeal      
rem CODE BY t0nsha
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

  回复  引用  查看    
2007-03-21 09:15 | 上午的绝缘杯      
好文,支持!
  回复  引用  查看    
2008-12-27 16:12 | 风姿[未注册用户]
写的好,可惜看到太晚了。
  回复  引用    
2009-07-13 13:06 | jshagbl      
请各位高手哪个能帮助我写个删除比如:(梦想文学网 更新时间:2008-4-10 0:25:39 本章字数:2649)这样的批处理可以吗?N个TXT手功删太麻烦啦,谢谢!
  回复  引用  查看