欢迎来到代码驿站!

DOS/BAT

当前位置:首页 > 脚本语言 > DOS/BAT

BAT获取时间有空格问题的解决方法

时间:2021-01-06 11:23:05|栏目:DOS/BAT|点击:

最近在项目上需要把文件定时备份,用BAT文件来自动生成文件夹名,精确到秒:

bat脚本时间设定如下:

pushd E:\Test
set T=%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中:

set h=% =0% -> 这里的‘='就是‘替换'的含意

pushd E:\Test
set h=%time~0,2%
set h=% =0%
set T=%date:~0,10%-%h%%time:~3,2%%time:~6,2%
md %T%
popd

上一篇:NCC Tools(never code counter tools) V1.0.1发布代码-代码统计工具

栏    目:DOS/BAT

下一篇:用批处理实现的反应速度测试工具

本文标题:BAT获取时间有空格问题的解决方法

本文地址:http://www.codeinn.net/misctech/41376.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有