找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27594|回复: 8

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

[复制链接]
发表于 2015-12-7 17:29:02 | 显示全部楼层 |阅读模式
  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%
复制代码
 楼主| 发表于 2015-12-7 17:29:50 | 显示全部楼层
貌似是因为set IP=%%a的时候没取到东西?请教如何解决,谢谢各位。
发表于 2015-12-7 17:37:03 | 显示全部楼层
  1. ipconfig
复制代码
  1. ipconfig | findstr "IPAddress"
复制代码
  1. ipconfig | findstr "IPAddress" | findstr /r "192.0.2.[0-255]*"
复制代码
依次执行这三个命令,把它们得到的结果分别发出来,看看是哪一步出错了
发表于 2015-12-7 17:56:10 | 显示全部楼层
route %ip% %mask% %gw% %metric%
发表于 2015-12-7 18:00:34 | 显示全部楼层
用“:”做分隔符IP前面有空格,不知道影不影响
 楼主| 发表于 2015-12-7 18:04:07 | 显示全部楼层
貌似都没报错呢……
发表于 2015-12-7 18:37:23 | 显示全部楼层
IP Address 不等于 IPAddress

findstr /r "192.0.2.[0-255]*"  这种写法很有才
发表于 2015-12-7 18:39:42 | 显示全部楼层
回复 6# devil_assassin


不是说它会报错,而是可以告诉你为啥得不到想要的结果,比如IP和Address中间是有空格的,应该这样:
  1. ipconfig | findstr /c:"IP Address"
复制代码
 楼主| 发表于 2015-12-8 09:40:12 | 显示全部楼层
本帖最后由 devil_assassin 于 2015-12-8 10:13 编辑

感谢各位的热心帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 07:42 , Processed in 0.018992 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表