• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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

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

    上一篇:Windows批处理更改当前工作路径的BAT
    下一篇:window设置任务计划定时执行 git 更新(git pull)并隐藏运行cmd
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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