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

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

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

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

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

@echo offset "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 offset "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%.txtpause

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

(0)

相关推荐