为了账号安全,请及时绑定邮箱和手机立即绑定

变量与常量的批处理文件比较失败

变量与常量的批处理文件比较失败

一只甜甜圈 2019-07-16 10:48:40
变量与常量的批处理文件比较失败我想写一段简单的代码,得到一些很好的格式“时间戳”。让时间进入我的两个变量Start和End效果很好。我也可以把它打印成0:0:0。如果它小于10,我想要一个前导零,但是很明显,我收到了一个错误,它说‘没有找到参数10,或者输入错了’。我发现这似乎是要比较的变量,但我没能解决这个问题。有什么想法吗?@ECHO OFF REM Time Calculation FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Second /Format:table ^| findstr /r "."') DO (  set Day=%%A  set Hour=%%B  set Minute=%%C  set Second=%%D ) set /a Start=%Day%*8640000+%Hour%*360000+%Minute%*6000+%Second%*100 @ECHO ON ping 8.8.8.8 -n 11 @ECHO OFF FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Second /Format:table ^| findstr /r "."') DO (  set Day=%%A  set Hour=%%B  set Minute=%%C  set Second=%%D ) set /a End=%Day%*8640000+%Hour%*360000+%Minute%*6000+%Second%*100 set /a Diff=%End%-%Start% set /a Diff=(%Diff%)/100 set /a DiffSec=%Diff%%%60 set /a Diff=(%Diff%-%Diff%%%60)/60 set /a DiffMin=%Diff%%%60 set /a Diff=(%Diff%-%Diff%%%60)/60 set /a DiffHrs=%Diff% ECHO Laufzeit Auftraege loeschen: %DiffHrs%:%DiffMin%:%DiffSec% :: format with leading zeroes if %DiffSec% LSS 10 (ECHO "LESS 10")else %DiffSec% LSS 1 (ECHO "LESS 1") ::if %DiffSec% LSS 10 (set DiffSec=0%DiffSec%)else [%DiffSec%] LSS 1 (set DiffSec=00) ::if %DiffMin% LSS 10 (set DiffMin=0%DiffMin%)else [%DiffMin%] LSS 1 (set DiffMin=00) ::if %DiffHrs% LSS 10 (set DiffHrs=0%DiffHrs%)else [%DiffHrs%] LSS 1 (set DiffHrs=00) ECHO Laufzeit Auftraege loeschen: %DiffHrs%:%DiffMin%:%DiffSec%
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

if %DiffSec% LSS 10 (ECHO "LESS 10")else IF %DiffSec% LSS 1 (ECHO "LESS 1")

你需要一个if在.之后else.


查看完整回答
反对 回复 2019-07-16
?
喵喔喔

TA贡献1735条经验 获得超5个赞

    if %DiffSec% LSS 1 (ECHO "LESS 1") else IF %DiffSec% LSS 10 (ECHO "LESS 10")..否则,else任何小于1的东西都不会生效。


查看完整回答
反对 回复 2019-07-16
  • 3 回答
  • 0 关注
  • 625 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信