分享

BAT批处理提取系统时间的实现代码(bug修复)

 新用户604881da 2021-11-14

一般情况下用下面的代码即可,但批处理的默认0开头的数字以为是8进制,导致获取的时间不准确

1

2

3

4

for /f "tokens=1,2 delims=:" %%i in ('time/t') do (

    set/a xiaos=%%i

    set/a fenz=%%j

)

使用上面的代码提取系统的小时和分钟,原本运行的结果如下:
xiaos=9
fenz=18
但今天提取的却是下面格式(同一台机器,同一个系统):
xiaos=09
fenz=18
由此带来后期计算的错误。

因为接触批处理不久,不知是哪里出了问题?特请教。

bathome的管理员给出的答案

1

2

3

4

5

6

7

8

9

10

11

12

@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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多