批处理学习(二)*关于系统时间的获取
rem代码:todaytimeget.bat
@echo off
set /a sum=0
:again
if “%1”=="" (goto null
)
if exist %1 (echo 输入文件存在
goto exist ) else (echo 输入文件不存在
echo 创建文件%1
:exist
echo @echo off >%1
for /F "tokens=1-3 delims=/- " %%A in (‘date/T’) do set date=%%A%%B%%C
echo rem %date% >>%1
set /a sum=sum+1
shift
goto again
:null
if %sum% NEQ 0 goto end
for /F "tokens=1-3 delims=/- " %%A in (‘date/T’) do set date=%%A%%B%%C
echo @echo off >%date%.txt
echo rem %date% >>%date%.txt
)
:end
set extension=
set date=
#1、当有输入参数(文本文件)时,将时间传入输入参数
#2、当输入参数(文本文件)不存在时创建文本文件,将时间传入输入参数
#3、当没有输参数时,创建一个文本文件,并用时间命名。
#重点讲解:
/F 表示使用文件解析过程处理命令
“date/T”是获取时间字符并返回(for语句先执行in后面括号里的内容)
“tokens=1-3 delims=/- ”的意思是将时间“2021-03-02 星期二”的字符分割Wie“2021”“03”“02”“星期二”,“/- ”是“/”,“-”,“空格”。
tokens 定义for中变量的个数(使用详情可以参考tokens的用法)
delims 分隔符
for语句的目的是将一个变量分隔为4份字符串,取前面3个字符串赋值给变量A,B,C