返回列表 发帖

[日期时间] 【已解决】BAT批处理命令time取时间值如何补零?

本帖最后由 csjzhy 于 2014-5-28 12:48 编辑

如当前系统时间是09:30:02,我用%time:~0,2%只能取得“9”。怎么能够取得“09”呢?请高手指点。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

time 显示的时间是9:30:02,不会是是09:30:02
所以%time:~0,2%取不到“09”
可以在前面加“00”再取位。
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

回复 2# hfg1977


    我用mkdir命令,在123目录下新建文件夹(mkdir 123\%time:~0,2%),这个时间因为有空格,提示有问题,这个要怎么解决呢,能不有去掉那个因为没有显示0而导致的空格?

TOP

set /a t=100+%time:~0,2%
echo,%t:~1%

TOP

本帖最后由 czjt1234 于 2014-5-27 12:16 编辑

echo 123\%time:~0,2%

123\ 9

9前面有一个空格


set /a t=%time:~0,2%
md 123\%t%COPY
1

评分人数


QQ 20147578

TOP

除了 set /a,用替换也可以
set "t=%time: =0%"
echo %t:~,2%COPY

TOP

我是用的笨办法,截取了字符后判断是不是小于100000,如果是,前面加个“0”。
  set Curtime=%time:~0,2%%time:~3,2%%time:~6,2%
    if !Curtime! LSS 100000 (
       set Curtime=0!Curtime: =!
    )COPY

TOP

回复 7# killer3k


    那直接 set Curtime=!Curtime: =0! 就好了

TOP

回复 8# CrLf


    哈哈哈哈~~~我真是一根筯啊。直接把空格换成零就行了,干嘛还要多此一举先添加零再去掉空格。
    多谢多谢!

TOP

返回列表