BAT获取时间有空格问题的解决方法
最近在项目上需要把文件定时备份,用BAT文件来自动生成文件夹名,精确到秒:
bat脚本时间设定如下:
pushdE:\Test setT=%date:~0,10%-%time:~0,2%%time:~3,2%%time:~6,2% md%T% popd
time变量值如下的各个操作的意义如下:
%time:~0,2%表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2%表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2%表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值
用%time:~0,2%%time:~3,2%%time:~6,2%时有个问题,就是如果TIME是08点的时候,电脑显示的是08,但是实际上用%time:~0,2%抓取的时候就会有问题,因为实际上抓到到时空格+8,这样在用md创建文件夹的时候,因为T中有空格,会创建2个文件夹:
比如现在时间是2019-08-23,08:30:30;
T=20190823-83030
md%T%会创建2个文件夹:20190823-和83030这样2个文件夹。
解决办法:
把小时单独定义h,然后把h中空格用0代替,再把h加入到T中:
seth=%=0%->这里的‘='就是‘替换'的含意
pushdE:\Test seth=%time~0,2% seth=%=0% setT=%date:~0,10%-%h%%time:~3,2%%time:~6,2% md%T% popd
到此这篇关于BAT获取时间有空格问题的解决方法的文章就介绍到这了,更多相关BAT时间空格问题内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。