DOS批处理之DATE命令的使用方法详解


1.系统帮助
C:\>date /?
显示或设置日期。

DATE [/T | date]

仅键入 DATE 而不加参数,可以显示当前日期设置,并且提示
您输入新的日期。按 ENTER 键即可保持原有日期。

如果命令扩展名被启用,DATE 命令会支持 /T 命令选项;该命令选项告诉
命令只输出当前日期,但不提示输出新日期。

2.DATA /T 参数说明

此参数输出当前日期,例如:

C:\>DATE /T
2002-10-28 星期一

这个日期格式可能不同与环境变量中的日期格式,如

C:\>echo %DATE%
星期一 2002-10-28

用for命令,可以组合出不同的表达,例如:

C:\>for /f "tokens=1,2" %a in ('date/t') do set date=%a

C:\>set date=2002-10-28
这条语句所做的的就是在date/t中取出不含星期的部分。

我们可以用更简单的命令得出相同的结果,如:

C:\>echo %DATE%
星期一 2002-10-28

C:\>echo %DATE:~4,10%
2002-10-28

如果想在批处理中以日期建立文件夹或者文件名都可以简单的做到了,如

C:\>mkdir %DATE:~4,10%
C:\>dir 2*
驱动器 C 中的卷是 本地磁盘
卷的序列号是 402A-3A7E

C:\ 的目录

2002-10-28 19:34 <DIR> 2002-10-28
0 个文件 0 字节
1 个目录 79,282,176 可用字节

C:\>copy mylist mylist%DATE:~4,10%
已复制 1 个文件。

C:\>dir my*
驱动器 C 中的卷是 本地磁盘
卷的序列号是 402A-3A7E

C:\ 的目录

2002-09-15 10:00 38 mylist
2002-09-15 10:00 38 mylist2002-10-28
3 个文件 446 字节
0 个目录 79,282,176 可用字节

这对于Oracle中的某些自动操作是很有用的。

可以看到,通过简单的DOS命令的组合,我们可以做到很多看似复杂的事情,只是我们的思维

并不总是能够到达那里。

3.关于%DATE:~4,10%的格式

这个命令的意思就是在DATE的输出中,取4-10中间的字符。
对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。
可以通过ECHO命令察看当前设置,如:

C:\>echo %DATE%
星期一 2002-10-28

当然,我们可以同样取到星期的值:

C:\>echo %DATE:~0,3%
星期一

当然也可以从不同方向来:

C:\>echo %DATE:~-10%
2002-10-28

C:\>echo %DATE:~0,-10%
星期一
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3