BAT批處理提取系統(tǒng)時間的實現(xiàn)代碼(bug修復)
更新時間:2021年09月15日 10:50:43 作者:Batcher
這篇文章主要介紹了BAT批處理提取系統(tǒng)時間的實現(xiàn)代碼(bug修復),需要的朋友可以參考下
一般情況下用下面的代碼即可,但批處理的默認0開頭的數(shù)字以為是8進制,導致獲取的時間不準確
for /f "tokens=1,2 delims=:" %%i in ('time/t') do ( set/a xiaos=%%i set/a fenz=%%j )
使用上面的代碼提取系統(tǒng)的小時和分鐘,原本運行的結果如下:
xiaos=9
fenz=18
但今天提取的卻是下面格式(同一臺機器,同一個系統(tǒng)):
xiaos=09
fenz=18
由此帶來后期計算的錯誤。
因為接觸批處理不久,不知是哪里出了問題?特請教。
bathome的管理員給出的答案
@echo off for /f "tokens=1,2 delims=:" %%i in ('time /t') do ( set xiaos=%%i set fenz=%%j ) set xiaos=10%xiaos: =% set fenz=10%fenz% set /a xiaos=xiaos%%100 set /a fenz=fenz%%100 echo %xiaos% echo %fenz% pause
完美解決。
問題找到了。日期和時間的格式是03,09格式,如果進行數(shù)值計算或賦值時,因為是0開頭,所以會被認為是八進制數(shù)值,當為08,09格式就需要進位,于是就出錯了。而07以下不需要進位所以不會出錯。
相關文章
CMD命令行中以管理員權限啟動應用程序?qū)崿F(xiàn)方法
這篇文章主要介紹了CMD命令行中以管理員權限啟動應用程序?qū)崿F(xiàn)方法,本文使用一個JS腳本來實現(xiàn),需要的朋友可以參考下2015-06-06