关于判断时间来走条件的问题
bat吧
全部回复
仅看楼主
level 1
Ezreal15i 楼主
各位大佬好,我写了一个bat,但是执行的时候似乎判断没有生效,麻烦大佬帮我看看问题在哪
要求很简单,我是准备放在系统的启动项里,每天开机判断当前时间,如果是早上7点到9点之间,就自动改IP,其余时间IP自动获取,if 和 else 里面的内容可以单独执行,就是外面的判断好像有有问题
@echo off
echo 当前时间为%time:~0,2%
if "%time:~0,2%" GEQ "7" if "%time:~0,2%" LEQ "9" (
echo 设置为办公IP地址
:netsh interface ip set address 以太网 static XXXXXX
:netsh interface ip set dns 以太网 static XXXXXX
:netsh interface ip add dns 以太网 XXXXXX
echo 按任意键退出 & pause>nul
exit
)else(
echo 设置为自动获取IP
:netsh interface ip set address 以太网 dhcp
echo 按任意键退出 & pause>nul
exit
)
2018年12月28日 08点12分 1
level 1
两层if没有嵌套
2018年12月28日 09点12分 2
啥意思a
2018年12月28日 10点12分
level 9
生活要想过得去,身上必须沾点绿。[滑稽]
2018年12月28日 10点12分 3
level 5
去掉下面这句里的引号:
if "%time:~0,2%" GEQ "7" if "%time:~0,2%" LEQ "9"
改成
if %time:~0,2% GEQ "7" if %time:~0,2% LEQ 9
因为10点之前 %time:~0,2% 的结果是两个字符:空格+小时,
带引号的话就是判断 " 7" GEQ "7"了。
2018年12月29日 01点12分 4
level 5
还有一点,7点到9点之间,似乎是指7点整到9点整之间吧。
LEQ 9 会把9点到10点之间也算上,应该是LSS ...
2018年12月29日 01点12分 5
大佬,为啥改了以后,闪一下就没了啊,我贴在下面
2018年12月29日 01点12分
level 1
Ezreal15i 楼主
@echo off
echo 当前时间为%time:~0,2%
if %time:~0,2% GEQ 7 if %time:~0,2% LSS 9 (
echo 设置为办公IP地址
:netsh interface ip set address 以太网 static 172.18.23.178 255.255.255.192 172.18.23.129
:netsh interface ip set dns 以太网 static 202.102.192.68
:netsh interface ip add dns 以太网 202.102.192.68 index=2
echo 按任意键退出 & pause>nul
exit
)else(
echo 设置为自动获取IP
:netsh interface ip set address 以太网 dhcp
echo 按任意键退出 & pause>nul
exit
)
2018年12月29日 01点12分 6
你确定两个if间不需要括号?
2018年12月29日 09点12分
@冷漠无情夜狼 if本身就不用括号好吗
2018年12月31日 11点12分
level 6
if还能这么用的?
2018年12月29日 09点12分 7
level 14
为什么netsh前面会有冒号?
2018年12月30日 00点12分 8
冒号随手加的,本来有echo,拿来测试判断是否生效的
2018年12月31日 15点12分
level 9
这楼主,哎,算了,不说啥了,看我一记洛阳铲![滑稽]
2018年12月31日 10点12分 9
level 8
)else(改为) else (
:netsh改为rem netsh
即可[呵呵]
2018年12月31日 11点12分 10
level 13
@echo off
echo 当前时间为%time:~0,2%
if 1%time:~0,2% GEQ 107 (
if 1%time:~0,2% LSS 109 (
echo 设置为办公IP地址
netsh interface ip set address 以太网 static 172.18.23.178 255.255.255.192 172.18.23.129
netsh interface ip set dns 以太网 static 202.102.192.68
netsh interface ip add dns 以太网 202.102.192.68 index=2
ipconfig /renew
ipconfig /flushdns
echo 按任意键退出 & pause>nul
exit
))
echo 设置为自动获取IP
netsh interface ip set address 以太网 dhcp
ipconfig /renew
ipconfig /flushdns
echo 按任意键退出 & pause>nul
exit
2018年12月31日 15点12分 11
谢谢大佬,明天我试一下
2018年12月31日 15点12分
level 13
if右边 括号不可省略(尤其是包含换行时),左右括号数量也必须对上
) else ( 空格不可省略
else不懂就不要瞎写
2018年12月31日 15点12分 12
level 13
还有,你改了ip不刷新配置等于白改
2018年12月31日 15点12分 13
level 13
ip修改命令也是瞎写,你这样根本改不了吧
2018年12月31日 15点12分 14
ip可以改,单独跑可以生效,管理员执行就可以
2018年12月31日 15点12分
1