[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] [已解决]以当前时间为文件名创建文件的批处理10点以前时如何在文件名开头加0?

已知
  1. echo.>%time:~0,2%%time:~3,2%%time:~6,2%.txt
复制代码
可在10点以后可创建6位数为名的txt文件,而10点以前创建的是5位数为名的文件,
现要在10点以前创建的文件名前手动加0,补齐6位数
  1. echo.>0%time:~0,2%%time:~3,2%%time:~6,2%.txt
复制代码
不能实现,请教高人指点该如何写?谢谢!
1

评分人数

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

本帖最后由 cjiabing 于 2011-9-20 20:26 编辑

使用条件判断语句IF可以解决:
  1. if /i "%time:~1,1%"==":" (echo.>0%time:~0,1%%time:~2,2%%time:~5,2%.txt) else (echo.>%time:~0,2%%time:~3,2%%time:~6,2%.txt)
复制代码

根据你的代码修改,没测试过。
1

评分人数

    • CrLf: 乐于助人技术 + 1
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

终于理解了,经过set/a a=%time:~0,2%,时间数值已经变为普通数值了,所以可进行正常数值运算,再次感谢楼上!

TOP

回复 3# tamicer
如果懂原理的话,这个问题就可以自己回答了哦……这个数字只要比小时数大一个量级且不能超过批处理能计算的最大值应该就行了。
看得多说得多,远比不上写得多。

TOP

  1. >0%time:~0,2%%time:~3,2%%time:~6,2%.txt echo.
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

谢谢楼上指点迷津,还想请教一下,100是不是与时间相加唯一有意义的数字,应用中会不会遇到时间变量加其它数字呢?

TOP

  1. set/a a=%time:~0,2%,b=a+100
  2. cd.>%b:~-2%%time:~3,2%%time:~6,2%.txt
复制代码
2

评分人数

    • bsdgsos: 非常感谢!我正需要这个。技术 + 1
    • CrLf: 乐于助人技术 + 1
看得多说得多,远比不上写得多。

TOP

返回列表