[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 请教获取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%
复制代码

貌似是因为set IP=%%a的时候没取到东西?请教如何解决,谢谢各位。

TOP

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

TOP

route %ip% %mask% %gw% %metric%

TOP

用“:”做分隔符IP前面有空格,不知道影不影响

TOP

貌似都没报错呢……

TOP

IP Address 不等于 IPAddress

findstr /r "192.0.2.[0-255]*"  这种写法很有才

TOP

回复 6# devil_assassin


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

TOP

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

感谢各位的热心帮助

TOP

返回列表