注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

批处理获取当前时间  

2017-12-20 17:40:35|  分类: 学习参考 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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
 


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%)
  评论这张
 
阅读(13)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018