找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 42691|回复: 8

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

[复制链接]
发表于 2014-5-27 10:40:31 | 显示全部楼层 |阅读模式
本帖最后由 csjzhy 于 2014-5-28 12:48 编辑

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-5-27 10:54:27 | 显示全部楼层
time 显示的时间是9:30:02,不会是是09:30:02
所以%time:~0,2%取不到“09”
可以在前面加“00”再取位。
 楼主| 发表于 2014-5-27 11:13:21 | 显示全部楼层
回复 2# hfg1977


    我用mkdir命令,在123目录下新建文件夹(mkdir 123\%time:~0,2%),这个时间因为有空格,提示有问题,这个要怎么解决呢,能不有去掉那个因为没有显示0而导致的空格?
发表于 2014-5-27 11:30:23 | 显示全部楼层
set /a t=100+%time:~0,2%
echo,%t:~1%
发表于 2014-5-27 12:11:49 | 显示全部楼层
本帖最后由 czjt1234 于 2014-5-27 12:16 编辑

echo 123\%time:~0,2%

123\ 9

9前面有一个空格


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

复制代码

评分

参与人数 1技术 +1 收起 理由
csjzhy + 1 谢谢!

查看全部评分

发表于 2014-5-27 17:28:33 | 显示全部楼层
除了 set /a,用替换也可以
  1. set "t=%time: =0%"
  2. echo %t:~,2%
复制代码
发表于 2014-5-27 20:11:26 | 显示全部楼层
我是用的笨办法,截取了字符后判断是不是小于100000,如果是,前面加个“0”。
  1.   set Curtime=%time:~0,2%%time:~3,2%%time:~6,2%
  2.     if !Curtime! LSS 100000 (
  3.        set Curtime=0!Curtime: =!
  4.     )
复制代码
发表于 2014-5-28 02:17:08 | 显示全部楼层
回复 7# killer3k


    那直接 set Curtime=!Curtime: =0! 就好了
发表于 2014-5-28 10:09:44 | 显示全部楼层
回复 8# CrLf


    哈哈哈哈~~~我真是一根筯啊。直接把空格换成零就行了,干嘛还要多此一举先添加零再去掉空格。
    多谢多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:51 , Processed in 0.011687 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表