Windows环境bat脚本获取文件的创建时间
windows环境获取时间相关概念
1、windows下DOS窗口date格式
针对date的结果将其进行格式化显示,如:YYYY-MM-DD 就要进行如下操作:
日期截取遵从格式 %date:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0)
年份从第0位开始截取4位,月份从第5位开始截取2位,日期从第8位开始截取2位
2、windows下DOS窗口time格式
针对time的结果将其进行格式化显示,如:HH:MM:SS就要进行如下操作:
时间截取遵从格式 %time:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0)
时钟从第0位开始截取2位,分钟从第3位开始截取2位,秒钟从第6位开始截取2位
2、脚本DateTime.bat
:: 编码格式 ANSI:: 脚本创建时最好选择ANSI编码(防止中文乱码):: @echo off 表示不回显执行的命令@echo off @echo =========Windows的原本日期时间格式=======================:: 设置变量,使用变量时需要用一对%包起来set ORIGINAL_DATE=%date% echo %ORIGINAL_DATE% @echo =========日期按照YYYY-MM-DD格式显示======================:: 日期截取遵从格式 %date:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0):: 年份从第0位开始截取4位,月份从第5位开始截取2位,日期从第8位开始截取2位 set YEAR=%date:~0,4%set MONTH=%date:~5,2%set DAY=%date:~8,2%set CURRENT_DATE=%YEAR%-%MONTH%-%DAY%echo %CURRENT_DATE% @echo =========时间按照HH:MM:SS格式显示========================:: 时间截取遵从格式 %time:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0):: 时钟从第0位开始截取2位,分钟从第3位开始截取2位,秒钟从第6位开始截取2位 set HOUR=%time:~0,2%set MINUTE=%time:~3,2%set SECOND=%time:~6,2% :: 当时钟小于等于9时,前面有个空格,这时我们少截取一位,从第1位开始截取set TMP_HOUR=%time:~1,1%set NINE=9set ZERO=0:: 处理时钟是个位数的时候前面补上一个0, LEQ表示小于等于if %HOUR% LEQ %NINE% set HOUR=%ZERO%%TMP_HOUR% set CURRENT_TIME=%HOUR%:%MINUTE%:%SECOND%echo %CURRENT_TIME% @echo =========日期时间按照YYYY-MM-DD HH:MM:SS格式显示=========set CURRENT_DATE_TIME=%YEAR%-%MONTH%-%DAY% %HOUR%:%MINUTE%:%SECOND%echo %CURRENT_DATE_TIME% @echo =========日期时间按照YYYYMMDD_HHMMSS格式显示=============set CURRENT_DATE_TIME_STAMP=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%echo %CURRENT_DATE_TIME_STAMP%@echo =========================================================pause
运行结果:
3、按照时间创建文件夹脚本
提供一个按照时间戳创建文件夹的脚本,这个在文件备份的时候常常用到
:: 编码格式 ANSI:: 脚本创建时最好选择ANSI编码(防止中文乱码):: @echo off 表示不回显执行的命令@echo off :: 日期截取遵从格式 %date:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0):: 年份从第0位开始截取4位,月份从第5位开始截取2位,日期从第8位开始截取2位set YEAR=%date:~0,4%set MONTH=%date:~5,2%set DAY=%date:~8,2% :: 时间截取遵从格式 %time:~x,y%,表示从第x位开始,截取y个长度(x,y的起始值为0):: 时钟从第0位开始截取2位,分钟从第3位开始截取2位,秒钟从第6位开始截取2位set HOUR=%time:~0,2%set MINUTE=%time:~3,2%set SECOND=%time:~6,2%:: 毫秒set MILLISECIOND=%time:~9,2% :: 当时钟小于等于9时,前面有个空格,这时我们少截取一位,从第1位开始截取set TMP_HOUR=%time:~1,1%set NINE=9set ZERO=0:: 处理时钟是个位数的时候前面补上一个0, LEQ表示小于等于if %HOUR% LEQ %NINE% set HOUR=%ZERO%%TMP_HOUR% set CURRENT_DATE_TIME_STAMP=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND%%MILLISECIOND%mkdir %CURRENT_DATE_TIME_STAMP%
运行结果:
到此这篇关于Windows环境bat脚本获取文件的创建时间的文章就介绍到这了,更多相关bat获取文件创建时间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!