Board logo

标题: [文本处理] 请教获取IP并修改路由的批处理为什么总是报错? [打印本页]

作者: devil_assassin    时间: 2015-12-7 17:29     标题: 请教获取IP并修改路由的批处理为什么总是报错?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims=:"  %%a in (' ipconfig^|findstr "IPAddress"^|findstr /r "192.0.2.[0-255]*" ')   do  set "IP=%%a"
  4. rem echo %IP%
  5. route add 135.0.0.0 mask 255.0.0.0 %IP%
复制代码

作者: devil_assassin    时间: 2015-12-7 17:29

貌似是因为set IP=%%a的时候没取到东西?请教如何解决,谢谢各位。
作者: DAIC    时间: 2015-12-7 17:37

  1. ipconfig
复制代码
  1. ipconfig | findstr "IPAddress"
复制代码
  1. ipconfig | findstr "IPAddress" | findstr /r "192.0.2.[0-255]*"
复制代码
依次执行这三个命令,把它们得到的结果分别发出来,看看是哪一步出错了
作者: flyinnet9    时间: 2015-12-7 17:56

route %ip% %mask% %gw% %metric%
作者: flyinnet9    时间: 2015-12-7 18:00

用“:”做分隔符IP前面有空格,不知道影不影响
作者: devil_assassin    时间: 2015-12-7 18:04

貌似都没报错呢……
作者: WHY    时间: 2015-12-7 18:37

IP Address 不等于 IPAddress

findstr /r "192.0.2.[0-255]*"  这种写法很有才
作者: DAIC    时间: 2015-12-7 18:39

回复 6# devil_assassin


不是说它会报错,而是可以告诉你为啥得不到想要的结果,比如IP和Address中间是有空格的,应该这样:
  1. ipconfig | findstr /c:"IP Address"
复制代码

作者: devil_assassin    时间: 2015-12-8 09:40

本帖最后由 devil_assassin 于 2015-12-8 10:13 编辑

感谢各位的热心帮助




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2