分享

【精品博文】批处理bat获取当前时间并以当前时间创建txt文件

 ChinaAET 2020-10-31

以下内容均在自己的笔记本电脑上实现。

首先,在cmd中查看系统日期date的格式,如下图所示,即yyyy\mm\dd week。

然后,在cmd中查看系统时间time的格式,如下图所示,即hh:mm:ss.MsMs。需要注意的是hh,其十位数可能是空格,我们希望在创建txt文件时将该空格用0代替。

以yyyymmddhhmmss.txt(年月日时分秒)的格式创建txt文本,批处理test.bat实现如下:

@echo off set "year=%date:~0,4%" set "month=%date:~5,2%" set "day=%date:~8,2%" set "hour_ten=%time:~0,1%" set "hour_one=%time:~1,1%" set "minute=%time:~3,2%" set "second=%time:~6,2%" if "%hour_ten%" == " " (     type nul > %year%%month%%day%0%hour_one%%minute%%second%.txt ) else (     type nul > %year%%month%%day%%hour_ten%%hour_one%%minute%%second%.txt ) pause

运行test.bat(在不同的时间运行了两次),产生txt文件如下所示,可见设计是正确的。

如果不对hh的十位数进行判断,直接用下面的批处理bat实现,将发生错误。

@echo off set "year=%date:~0,4%" set "month=%date:~5,2%" set "day=%date:~8,2%" set "hour_ten=%time:~0,1%" set "hour_one=%time:~1,1%" set "minute=%time:~3,2%" set "second=%time:~6,2%" type nul > %year%%month%%day%%hour_ten%%hour_one%%minute%%second%.txt pause

如果hh的十位数不为空,则生产的txt文本没问题的;如果hh的十位数为空,则生产的txt文本有问题,cmd控制台提示错误信息,同时生产的txt文件名错误,如下所示,即批处理在处理空格时丢失了hhmmss.txt。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多