脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - bat - BAT获取时间有空格问题的解决方法

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

2021-10-07 11:02danvy617 bat

这篇文章主要介绍了BAT获取时间有空格问题的解决方法,需要的朋友可以参考下

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

bat脚本时间设定如下:

?
1
2
3
4
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% -> 这里的‘='就是‘替换'的含意

?
1
2
3
4
5
6
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

到此这篇关于BAT获取时间有空格问题的解决方法的文章就介绍到这了,更多相关BAT时间空格问题内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/danvy/p/11399976.html

延伸 · 阅读

精彩推荐
  • bat让bat批处理以管理员权限运行的实现方法

    让bat批处理以管理员权限运行的实现方法

    这篇文章主要介绍了让bat批处理以管理员权限运行的实现方法,需要的朋友可以参考下...

    bat教程网6962021-10-08
  • bat使用 windows bat 脚本命令一键启动MySQL服务的方法

    使用 windows bat 脚本命令一键启动MySQL服务的方法

    这篇文章主要介绍了使用 windows bat 脚本命令 一键启动MySQL服务的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    明金同学14752021-10-07
  • bat变量延迟详解 call setlocal

    变量延迟详解 call setlocal

    变量延迟在for语句中起着至关重要的作用,不只是在for语句中,在其他的复合语句中,它也在幕后默默地工作着,为了突出它的重要性,本节内容在单独的...

    脚本之家5742021-10-08
  • batWindows批处理更改当前工作路径的BAT

    Windows批处理更改当前工作路径的BAT

    最近项目上需要获取文件夹下所有文件信息,因为文件夹是在server上,所以想用批处理bat来获取该路径下所有文件信息,然后通过任务计划管理去每天自动...

    脚本之家12122021-10-07
  • batbat实现一分钟清除系统中所有垃圾文件

    bat实现一分钟清除系统中所有垃圾文件

      在桌面上点鼠标右键,选择新建一个“记事本”,把下面的字复制进去,点“另存为”,把文件名定为“清除系统垃圾.bat”就完成,记住后缀名一定要...

    批处理之家10592021-11-14
  • bat批处理重命名系列案例代码

    批处理重命名系列案例代码

    这篇文章主要介绍了批处理重命名系列案例代码,需要的朋友可以参考下...

    张戈10372021-10-07
  • batWindows下用bat命令行方式更改IE代理服务器设置方法

    Windows下用bat命令行方式更改IE代理服务器设置方法

    批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,批处理文件的扩展名为bat,下面通过本文给大家分享Windows下用bat命令...

    大萝卜空心的6202021-10-06
  • batbat过滤任意字符

    bat过滤任意字符

    早在写 bat的一个小游戏猜数字的时候我就研究过这个问题 如何在bat里面实现 对输入的任意字符进行过滤 当时使用的几种方法如下 ...

    allyesno11802021-12-26