Windowsbat批处理新建一个日期时间文件夹变日期和时间两个文件夹
2024-10-23 14:25阅读:
前言全局说明
Windows bat批处理 新建一个日期时间文件夹
变日期和时间两个文件夹
一、说明
环境:
|
Windows 11 家庭版 23H2 22631.3737 |
二、错误的结果
文件名:time_dir_Y-M-D_H-M_err.bat
|
@echo off |
|
|
|
::获取当前日期,格式:20190909 |
|
SET year=te:~0,4% |
|
SET month=te:~5,2% |
|
SET day=te:~8,2% |
|
|
|
SET HH=%time:~0,2% |
|
SET MM=%time:~3,2% |
|
|
|
SET
'Today=%year%-%month%-y%_%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%-y%_%HH%-%MM% |
|
|
|
:: 年月日_时分秒 |
|
set timer=%Today% |
|
echo md %timer% |
|
md %timer% |
四、原因分析
之前使用一直,正常,早上使用,就发现不正常了,看了源码,也没发现什么问题,
想着先把不足两位数的时间前补0 ,9点改成09点,接果误打误撞,
补0后,新件文件夹又正常了。
想了一下整个过程,之前开发脚本时候是下午,取的小时是2位数,没有错,
但是早上时间只有1位数,而脚本还是取两位数,这时就在9前面产生空格,
这样相当于建两个文件夹了。
4.1 错误的命令,个位数的小时前没有补0
4.2 正确的命令,个位数的小时前补0
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.51cto.com/lexsaints/2806267
作者:
悟透
原文链接:
https://www.cnblogs.com/wutou/p/18344623
来源:博客园
著作权归原作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。