Windows bat批处理 新建一个日期时间文件夹 变日期和时间两个文件夹
前言全局说明
Windows bat批处理 新建一个日期时间文件夹 变日期和时间两个文件夹
一、说明
环境:
Windows 11 家庭版 23H2 22631.3737
二、错误的结果
文件名:time_dir_Y-M-D_H-M_err.bat
@echo off ::获取当前日期,格式:20190909 SET year=%date:~0,4% SET month=%date:~5,2% SET day=%date:~8,2% SET HH=%time:~0,2% SET MM=%time:~3,2% SET "Today=%year%-%month%-%day%_%HH%-%MM%" :: 年月日_时分秒 set timer=%Today% echo md %timer% md %timer%
三、正常的接果
文件名:time_dir_Y-M-D_H-M_ok.bat
@echo off ::获取当前日期,格式:20190909 https://blog.51cto.com/lexsaints/2806267 SET year=%date:~0,4% SET month=%date:~5,2% SET day=%date:~8,2% if "%time:~0,2%" lss "10" (set HH=0%time:~1,1%) else (set HH=%time:~0,2%) SET MM=%time:~3,2% SET Today=%year%-%month%-%day%_%HH%-%MM% :: 年月日_时分秒 set timer=%Today% echo md %timer% md %timer%
四、原因分析
之前使用一直,正常,早上使用,就发现不正常了,看了源码,也没发现什么问题,
想着先把不足两位数的时间前补0 ,9点改成09点,接果误打误撞,
补0后,新件文件夹又正常了。
想了一下整个过程,之前开发脚本时候是下午,取的小时是2位数,没有错,
但是早上时间只有1位数,而脚本还是取两位数,这时就在9前面产生空格,
这样相当于建两个文件夹了。
4.1 错误的命令,个位数的小时前没有补0
md 2024-08-06_ 9-02
4.2 正确的命令,个位数的小时前补0
md 2024-08-06_09-02
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.51cto.com/lexsaints/2806267
分类:
Windows / bat批处理
标签:
bat
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!