bat批處理筆記(二)

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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章