eof
是“end of file”的缩写
在批处理作用主要有二:
1、在无call的情况下,会直接退出批处理,此时等同于exit
2、在call的情况下,会中止call,继续执行其他命令
@echo off
call :str1
pause
goto :eof
echo //此行代码不会被运行:str1
echo //此行代码运行
goto :eof
时间获取
要想标准化地获取当前系统日期2008-07-28,直接截取%date%变量的方法是不行的, 不同机器格式不一样
@echo off
for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do (set t=%%a
)
set Today=%t:~0,4%-%t:~4,2%-%t:~6,2%
echo,%Today%
pause
参考https://www.jb51.net/article/52749.htm
时分秒
set "hour_ten=%time:~0,1%"
set "hour_one=%time:~1,1%"
set "minute=%time:~3,2%"
set "second=%time:~6,2%"
数字0开始
比如日期:2020-09-12 00:00:00,需要获取月份进行一些运算:
1)可通过字符串截取得到
2)09 转换成数字,因为月份就2位,所以可以加10000然后对100求模,如下:
set endmonth=%%i::把0开始数字,变为十进制
set /a endmonth=100%endmonth%%%100//求余数,需要%%,两个%
调用一种用法
::下一个月
if %endmonth% GTR %startmonth% (call:nextMonth & goto :finalresult)::显示耗时
:finalresult
echo end time
exit /b::下一个月处理
:nextMonth
echo next month
goto :eof