文档详情

获取时间bat脚本实践.doc

发布:2017-04-05约1.56千字共3页下载文档
文本预览下载声明
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 使用批处理产生日期(时间)文件、文件夹 整Sqlserver自动备份时,发现无法使用网络映射驱动器作为备份文件存放路径,而本机磁盘空间实在是不够,于是决定在本机只备份最新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=bakBfile=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=bakrar ------- 年月日 -- 8位 BFile=bak-140650.rar ---------- 时分秒 -- 6位 另:如果小时数只有一位数字,造成中间有空格而出错的问题,请使用如下方法补0 复制代码代码如下: set hh=%time:~0,2% if /i %hh% LSS 10 (set hh=0%time:~1,1%) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;‘’’’’’’’’ 如何设定批处理进行下一步操作的等待时间? 分享到: 举报| 2011-12-27 00:15提问者采纳 批处理本身没有等待的命令,但可以利用外部下载的命令、vbs、各种批处理本身变通方法来实现延迟,不过最简便实用的,还是这一句批处理变通命令: ping -n 2 127.1nul 因为ping命令两次之间的间隔大概是1秒,让它ping两次就等待1s,要等待5秒就是 -n 6 回答 为了延个时搞那么长个东西,你觉得有必要么? 一句搞定不好么?
显示全部
相似文档