在.bat文件中打印实际时间时,使用
TIME /T但是输出如下:
04:30 a. m. or 14:30 p. m.我想知道是否可以从数字的末尾移除数字和a. m/ p. m.之间的":“,所以输出看起来是这样的:
0430 or 1430另外,我想知道是否可以比较输出或时间本身(time /t)。如果它低于X时间,就会触发一个动作。我不知道这段代码是否正确,但如下所示:
set /a time=TIME /T
if %time%<=(01:00 a. m.) (GOTO 0am)
if %time%<=(02:00 a. m.) (GOTO 1am)
if %time%<=(03:00 a. m.) (GOTO 2am)
if %time%<=(04:00 a. m.) (GOTO 3am)
if %time%<=(05:00 a. m.) (GOTO 4am)
if %time%<=(06:00 a. m.) (GOTO 5am)
if %time%<=(07:00 a. m.) (GOTO 6am)
if %time%<=(08:00 a. m.) (GOTO 7am)
if %time%<=(09:00 a. m.) (GOTO 8am)
if %time%<=(10:00 a. m.) (GOTO 9am)
if %time%<=(11:00 a. m.) (GOTO 10am)
if %time%<=(12:00 a. m.) (GOTO 11am)
if %time%<=(13:00 a. m.) (GOTO 12am)
if %time%<=(14:00 a. m.) (GOTO 1pm)
if %time%<=(15:00 a. m.) (GOTO 2pm)
if %time%<=(16:00 a. m.) (GOTO 3pm)
if %time%<=(17:00 a. m.) (GOTO 4pm)
if %time%<=(18:00 a. m.) (GOTO 5pm)
if %time%<=(19:00 a. m.) (GOTO 6pm)
if %time%<=(20:00 a. m.) (GOTO 7pm)
if %time%<=(21:00 a. m.) (GOTO 8pm)
if %time%<=(22:00 a. m.) (GOTO 9pm)
if %time%<=(23:00 a. m.) (GOTO 10pm)
if %time%<=(24:00 a. m.) (GOTO 11pm)如果你知道更简单的方法,请告诉我。
耽误您时间,实在对不起。
发布于 2016-12-27 19:18:19
我建议首先打开命令提示符窗口,运行set /?并读取所有输出帮助页。最后一个帮助页是关于在批处理文件中使用的内置环境变量,当然,在命令行中也是如此,DATE和TIME也属于这些命令行。
DATE和TIME字符串的格式取决于使用环境变量DATE和TIME为运行批处理文件的用户帐户定义的Windows和语言设置。
由于这个原因,有时最好以与区域无关的格式获取日期和时间字符串,该格式可以使用命令实现。
wmic OS GET LocalDateTime /VALUE例如,输出
LocalDateTime=20161227200325.171000+060在查看此字符串时,可以很容易地看到日期和时间字符串格式。
要从此字符串中获取当前小时和分钟,在24小时格式中不带冒号,用前导零表示小时< 10和分钟< 10,可以使用以下批处理代码:
@echo off
for /F "tokens=2 delims==." %%I in ('%SystemRoot%\System32\wbem\wmic.exe OS GET LocalDateTime /VALUE') do set "LocalTime=%%I"
set "LocalTime=%LocalTime:~8,4%"
echo Local time in format HHMM is: %LocalTime%
pauseWMIC的输出由FOR拆分成3个字符串,使用=和.作为分隔符,与delims==.一起定义。对此任务感兴趣的只有第二个字符串,它使用tokens=2引用日期和时间,该字符串分配给循环变量I。国际格式的日期/时间字符串分配给环境变量LocalTime。
前8个字符用于不感兴趣的yyyymmdd格式的日期,最后2个字符用于当前秒。因此,从LocalTime中,只有从字符索引位置8开始的4个字符在输出结果时间字符串之前被分配到LocalTime旁边。
发布的WMIC输出的批处理文件的输出是:
Local time in format HHMM is: 2003要了解所使用的命令及其工作方式,请打开命令提示符窗口,在那里执行以下命令,并非常仔细地读取为每个命令显示的所有帮助页。
echo /?for /?pause /?set /?wmic /?wmic OS /?wmic OS GET /?https://stackoverflow.com/questions/41349976
复制相似问题