您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 获取时间bat脚本实践
remCODEBYt0nsharem关于提取date,time输出结果的一个批处理rem“:”(冒号)和“~”波浪号必不可少!rem“~”后的数字:为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。rem“,”后的数字:为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。echo%date%echo%date:~4%::下行表示舍弃前0位,取到第10位(即取输出结果的前10位)echo%date:~0,10%echo%date:~4,-5%pauseecho%time%echo%time:~-3%echo%time:~2,-3%pauseecho%date:~4%%time:~0,-3%pause使用批处理产生日期(时间)文件、文件夹整Sqlserver自动备份时,发现无法使用网络映射驱动器作为备份文件存放路径,而本机磁盘空间实在是不够,于是决定在本机只备份最新2天数据,再写个批处理,做成系统调度每周将备份数据复制到网络驱动器上存档,从网上搜到批处理产生日期文件的办法。批处理文件:复制代码代码如下:@echooffsetaFile=bak-%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%setbFile=bak-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%setcFile=bak-%DATE%echoAfile=%aFile%echoBfile=%bFile%echoCfile=%cFile%输出:Afile=bak-20061219Bfile=bak-113202Cfile=bak-星期二2006-12-19于是备份bat就好写了复制代码代码如下:@echooffecho正在备份数据到网络驱动器。。。setfolder=%DATE%mdy:\%folder%copyd:\DataBak\*.BAKy:\%folder%echo备份完毕。-----------------------------------@echooffsetAFile=bak-%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%setBFile=bak-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%echoAFile=%AFile%.rarechoBFile=%BFile%.rar运行此批处理的结果:AFile=bak-20060109.rar-------年月日--8位BFile=bak-140650.rar----------时分秒--6位另:如果小时数只有一位数字,造成中间有空格而出错的问题,请使用如下方法补0复制代码代码如下:sethh=%time:~0,2%if/i%hh%LSS10(sethh=0%time:~1,1%);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;‘’’’’’’’’如何设定批处理进行下一步操作的等待时间?分享到:举报|2011-12-2700:15提问者采纳批处理本身没有等待的命令,但可以利用外部下载的命令、vbs、各种批处理本身变通方法来实现延迟,不过最简便实用的,还是这一句批处理变通命令:ping-n2127.1nul因为ping命令两次之间的间隔大概是1秒,让它ping两次就等待1s,要等待5秒就是-n6回答为了延个时搞那么长个东西,你觉得有必要么?一句搞定不好么?
本文标题:获取时间bat脚本实践
链接地址:https://www.777doc.com/doc-2020570 .html