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

[日期时间] 批处理获取系统时间如何在小于10的数值(个位数)前补0/补零

本帖最后由 pcl_test 于 2016-9-26 12:47 编辑
  1. set time0=%time:~0,2%
  2. if %time0% leq 9 (set %time0%=0%time:~1,1%) else (set %time0%=%time:~0,2%)
  3. echo %time0%
复制代码
这样写完还是 9的状态,这段代码是我从网上复制的.大致意思我明白,就是格式上好像有问题,没有达到效果.求大神们帮忙修改一下.

  1. @echo off
  2. set/a time0=%time:~0,2%+100
  3. echo %time0:~-2%
  4. pause
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

谢谢啦  受教了...

TOP

追问,大神请问 在echo %time0:~-2%后 假如结果是09 如何把这个09变成一个字符串 重新set一个a=09.在10点的时候echo %time0:~-2%这个会变成10  然后这个a还等于09.
目的就是假如9点整我做个文件的备份,等都做完了可能要10点了.那么我ftp传的时候如果还用这个%time0:~-2% 那么取名的时候就会找不到这个文件 因为以前那个文件是09 现在这个变成10  系统会找不到10这个文件 就传不过去了.
求大神继续回复.

TOP

http://www.bathome.net/thread-28199-1-2.html   [PowerShell每日技巧]获取昨天的日期、时间-比如零点(20131226)

http://www.bathome.net/thread-25932-1-1.html    powershell送你把,解决日期计算类问题的金钥匙!

楼主想干嘛?去当前时间减10小时的powershell命令为:
  1. (get-date).addhours(-10)
复制代码
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

回复 4# ywjbycd


    把完整代码贴出来看看

TOP

我就想我现在备份一个文件 文件名字是2014-12-10-09 (09是当前的小时)
2014-12-10-09 代码是
set date0=%date:~0,4%-%date:~5,2%-%date:~8,2%-
set/a time0=%time:~0,2%+100
set dt=%date0%%time0:~0,2%
生成一个文件比如是文本格式 那么假设这个文本名字是2014-12-10-09.txt
那么这个文本是在9点生成的.生成完文本我ftp到另外一台主机,把这个文本上传.假如生成这个文本需要一个小时的时间.那么现在就是10点.在ftp过程put的时候 我该怎么选择命名文件呢 要是还用上边的脚本 那么就该变成2014-12-10-10了 并不是2014-12-10-09.
所以请教一下如何把这个2014-12-10-09变成一个常量.然后我在ftp put的时候可以准确的去查找这个名字.不至于找不到文件.
注:生成备份文件(txt文件),ftp(文件上传)都包括在一个bat里边.不会分开运行.

TOP

dt的值不是吗

TOP

dt的值是   但是到了10点dt的值就会变化了吧  就变成10了  不是09了吧

TOP

回复 9# ywjbycd


    到了10点dt的值不会变化

TOP

哦?那我试试 谢谢

TOP

返回列表