我需要在 Windows 7 启动时执行两个命令(使用 .bat 文件):
route delete 0.0.0.0 192.168.5.201
route -p add 192.168.4.0 mask 255.255.0.0 192.168.5.201
如果系统上不存在第一条路线 - .bat 文件无法正确执行。第一个命令在无限循环上执行。我如何检查这条路线是否存在然后执行第一个命令?
PS或者也许有另一种方法可以在没有.bat文件的情况下做到这一点?
我需要在 Windows 7 启动时执行两个命令(使用 .bat 文件):
route delete 0.0.0.0 192.168.5.201
route -p add 192.168.4.0 mask 255.255.0.0 192.168.5.201
如果系统上不存在第一条路线 - .bat 文件无法正确执行。第一个命令在无限循环上执行。我如何检查这条路线是否存在然后执行第一个命令?
PS或者也许有另一种方法可以在没有.bat文件的情况下做到这一点?
我无法在这里重现无限循环;对我来说,它只是因错误而退出。
但是您可以使用以下命令检查特定路线
route print 0.0.0.0 192.168.5.201
但是,仅此还不够,因为退出代码route
始终为 0。所以你必须通过管道findstr
:
route print 0.0.0.0 192.168.5.201 | findstr 192.168.5.201
之后,您可以检查errorlevel
:
if not errorlevel 1 route delete 0.0.0.0 192.168.5.201
或链接命令:
route print 0.0.0.0 192.168.5.201 | findstr 192.168.5.201 && route delete 0.0.0.0 192.168.5.201