有时候需要在批处理过程中使用时间,但是默认输出的时间含有特殊字符,无法用在文件名等情况中,此时需要对其进行格式转换。

语法介绍

%variable:~start_index%
%variable:~start_index,length%

可以添加负号,负号代表从相反方向开始。

查看本地的时间格式

因为格式转换和具体的时间格式有关,所以首先应该确认本机的时间格式。

> echo %date%
Wed 06/16/2021
> echo %time%
16:52:09.01

根据本地的时间格式进行转换

如果格式不同,则需修改相应的index。

@echo offset year=%date:~-4%
set month=%date:~4,2%
set day=%date:~7,2%set hour=%time:~0,2%
set minute=%time:~3,2%
set second=%time:~6,2%set dtTmp=%year%_%month%_%day%_%hour%_%minute%_%second%:: 如果 hour 小于10,会有空格,下面这句代码可以去除字符串中的空格,并用0替代
set dt=%dtTmp: =0%echo %dt%

或者简化为一行

@echo off
set dtTmp=%date:~-4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%
set dt=%dtTmp: =0%
echo %dt%

输出为

2021_06_16_16_52_09

参考:
Format date and time in a Windows batch script
How-to: Extract part of a variable (substring)

Windows 上使用 batch批处理获取时间并更改时间格式相关推荐

  1. linux下文件访问时间、修改时间、更改时间

    基本概念: linux对每个文件维护3个时间段(访问时间.修改时间.更改时间),它们的意义于图4-19中. 在linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过 ...

  2. batch 批处理获取系统时间

    文件test.bat,内容命令如下: @echo off set filename=%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2 ...

  3. 在Windows上如何创建批处理.bat文件

    step1 首先在桌面或者文件夹内右击→新建→文本文档 step2 然后,这个文本文档,并在里面输入@echo 你好 pause(到时候,打开时可能会乱码) step3 然后,点击文件→另存为 ste ...

  4. 在 Windows 上可以用 Docker 吗?| 洞见

    简介 Docker,或者准确一点说,容器技术,在近几年里几乎成为了应用分发和集群部署的默认技术了.背景部分,如果感兴趣,请参考闲谈集群管理模式一文.Docker 生态的成熟还有赖于其周边工具和实践模式 ...

  5. Java 获取本地时间与网络时间

    Java获取的时间分为本地时间和网络时间,一般情况下开发中获取的都是本地时间,但是有些情况也需要我们去获取网络时间,以校验时间的准确性. 下面我会分别介绍获取本地时间和网络时间的方法: 获取本地时间 ...

  6. ac3165 linux驱动_为什么Linux系统没有类似Windows上的还原精灵和影子系统?

    很多从Windows转Linux的用户,面临的最大一个问题,就是Linux上没有还原精灵这种软件.众所周知,作为一个操作系统要想普及,绝不可能只针对懂IT的少部分年轻人,而是需要让不同年龄段,不同职业 ...

  7. Python中的时间转换和时间获取

    一.时间模块 1.基本获取时间的方式 代码块: import times = '2019-7-14' print(time.strptime(s,'%Y-%m-%d')) s_time = '09:0 ...

  8. 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...

    windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...

  9. java 线程不足_jvm - 如何在没有运行缺点的Windows上获取Java进程的线程和堆转储...

    jvm - 如何在没有运行缺点的Windows上获取Java进程的线程和堆转储 我有一个Java应用程序,我从控制台运行,然后控制台执行另一个Java进程. 我想获得该子进程的线程/堆转储. 在Uni ...

最新文章

  1. 蓝桥杯-打印十字图-java
  2. 《解释的工具:生活中的经济学原理 读书笔记6》
  3. Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析
  4. Oracle中通过游标执行带参数的存储过程实现解析CLOB字段内的xml字符串:
  5. 论文浅尝 - EMNLP2020 | 跨媒体关键词预测: 多模态多头注意力和图像文本的统一框架...
  6. docker公共存储库_Docker Hub公共镜像仓库的使用
  7. CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))
  8. dos导入mysql数据库表_用DOS命令在Linux下mysql数据库的导入导出操作
  9. 创建ros的程序包--3
  10. win10 安装flutter记录
  11. 2020 年 Go 语言盘点:Go 的前进步伐不可阻挡
  12. sql的left join 命令详解
  13. 通过Keepalived实现Redis Failover自动故障切换
  14. (BFS/状态压缩)HDU 5025 Saving Tang Monk
  15. 统计(statistic)(二分查找+离散化)
  16. g6的minimap中的配置_Minimap 缩略图
  17. 高逼格的console.log(),要不来看下
  18. ArchLinux初次进入系统时触摸板可以移动鼠标但是无法点击的问题
  19. CSS3小案例之安卓机器人
  20. 滑雪教程-新手必看(上)

热门文章

  1. linux虚拟光驱挂载教程,VMWare 挂载虚拟光驱及制作floppy linux
  2. 笔记本无线网卡失效(红叉)故障排除
  3. office 365 excel 遇到问题 需要修复
  4. C语言中“=,^=,|=”分别表示什么意
  5. Lync 2013十大新功能
  6. 【HTML5】html5中列表、表格、表单控件、浮动框架及结构化标签知识详解大全
  7. Quantopian教程源码解析及实战
  8. 哥德尔不完全性定理:现代数学的边界
  9. Python代码实战(初级篇)————4、猜数字
  10. 大数据工程师修炼笔记