我需要在 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 文件无法正确执行。第一个命令无限循环执行。 我如何检查该路由是否存在然后执行第一个命令?
附注或者也许还有另一种没有 .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
之后您可以检查错误级别
:
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
关于batch-file - 有条件地对批处理文件执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780655/