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