从Windows系统的命令行获得日期时间。
@echo off
setlocal
:: 使用WMIC命令获取当前日期和时间
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
:: 拼接成日期时间格式 YYYYMMDDHHMMSS
echo %dt:~0,14%
endlocal
for /f “tokens=2 delims==” 解释,delims表示文本分隔符,从Windows系统运行’wmic OS Get localdatetime /value’得到的值。
可以在cmd 或Powershell 输入"wmic os get localdatetime /value",
tokens=2表示分隔符的第二段,只提取等号 (=) 后面的内容。
对于dt变量,%dt:~0,14%表示从第0位开始(第1字符就是第0位),取14个字符.
再举一个例子说明for /f "tokens=* delims=* " 语法。 下面的例子是将字符串“AB_C_DE”以下横线 (delims=_ 等号后面的_) 分割,取分割后第3列(token=3)的字符,结果是DE。
:: 再举一个例子说明for /f "tokens=* delims=* " 语法
set A=AB_C_DE
for /f "tokens=3 delims=_" %%a in ("%A%") do set "result=%%a"
echo %result%