gpt4 book ai didi

batch-file - 如果时间在指定时间段内,则设置批处理文件变量

转载 作者:行者123 更新时间:2023-12-04 01:10:59 25 4
gpt4 key购买 nike

我创建了一个批处理文件,它会定期从自动化作业中触发。

在批处理文件中,我想检查时间是否在上午 12 点到上午 8 点之间,设置一个具有特定值的变量,否则,将其设置为默认值。

任何提示我如何在批处理文件中执行此操作?

最佳答案

for /f "delims=:." %%T in ("%time%") do if %%T lss 08 (set var=someValue) else (set var=default)

编辑 - zb226 是正确的 - 上面比需要的更复杂。做起来更简单

if %time:~0,2% lss 08 (set var=someValue) else (set var=default)

08 中的前导 0 很关键。原因是 0 前面的数字被视为八进制表示法,而 8 和 9 不是有效的八进制数字。如果在任一侧看到无效的八进制数,IF 语句将进行字符串比较。因此,如果当前时间是 09,则 09 lss 8 为 TRUE,因为 0 在 8 之前排序。更改为 09 lss 08 给出正确答案。

如果正好是上午 8:00:00.00,上述任一解决方案都会将该值设置为默认值。如果您真的想要上午 8:00:00.00 之前的“特定值”并在之后的任何时间默认,那么它有点复杂。在那种情况下,我会回到 FOR 解决方案。

for /f "tokens=1-4 delims=:." %%A in ("%time%") do (
set var=default
if %%A lss 08 set var=someValue
if %%A%%B%%C%%D equ 08000000 set var=someValue
)

关于batch-file - 如果时间在指定时间段内,则设置批处理文件变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com