![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 01:19 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » route print 输出到文本报错 |
| 可打印版本 1,187 / 11 |
| 第1楼 yixiaoyun | 发表于 2008-06-29 02:17 |
| 新手上路 发帖 6 积分 14 | |
|
route print 输出到文本报错 我写了一个更改特定路由的bat,是用在vpn拨号的情况下。vpn拨入后会分配一个10.10.10.0/24网段的某个ip地址,并且系统会自动把分配的ip地址设为默认路由的下一跳。我的bat的作用是自动找到那个默认路由然后,删除它,并添加一个特定的路由用分配的ip地址作为下一条路由。
内容如下: ================================================================ route print | find "0.0.0.0 0.0.0.0 10.10.10"> c:\routetable.txt for /f "tokens=3" %%a in (c:\routetable.txt) do route delete 0.0.0.0 mask 0.0.0.0 %%a for /f "tokens=3" %%a in (c:\routetable.txt) do route add 10.209.60.0 mask 255.255.255.0 %%a del routetable.txt echo. & pause ======================================================================= 这个bat必须在命令行模式下才能正常运行。如果直接在图形界面下双击bat文件,会抱错。 问题是route print | find "0.0.0.0 0.0.0.0 10.10.10"> c:\routetable.txt这句在运行的时候会报The process cannot access the file because it is being used by another process.的错误。请问这是什么问题? |
|
| 第2楼 HAT | 发表于 2008-06-29 11:36 |
| 版主 发帖 5,017 积分 9,023 | |
|
route print | find "0.0.0.0 0.0.0.0 10.10.10"> c:\routetable.txt
for /f "tokens=3" %%a in (c:\routetable.txt) do route delete 0.0.0.0 mask 0.0.0.0 %%a for /f "tokens=3" %%a in (c:\routetable.txt) do route add 10.209.60.0 mask 255.255.255.0 %%a ping -n 10 127.1 >nul del routetable.txt echo. & pause 这样可以吗? |
|
| 第3楼 balinger | 发表于 2008-06-29 14:53 |
| 中级用户 发帖 115 积分 356 | |
|
route -f
就可以清除网关。 然后 route add ................. |
|
| 第4楼 yixiaoyun | 发表于 2008-06-29 14:58 |
| 新手上路 发帖 6 积分 14 | |
|
谢谢帮我出主意,但是我不想清除所有默认网关,因为可能有别的我不想清除的默认网关。有别的办法么?
|
|
| 第5楼 balinger | 发表于 2008-06-29 15:07 |
| 中级用户 发帖 115 积分 356 | |
|
网关可以有几个,默认网关只有一个。
|
|
| 第6楼 yixiaoyun | 发表于 2008-06-29 15:11 |
| 新手上路 发帖 6 积分 14 | |
|
但是还有一个原因需要用route print命令时,我需要自动添加一条路由,这条路由的下一跳是从route print里得到的。
|
|
| 第7楼 balinger | 发表于 2008-06-29 16:00 |
| 中级用户 发帖 115 积分 356 | |
|
不明白楼主要做什么。
route add 10.209.60.0 mask 255.255.255.0 %%a 不是添加网关的命令啊? |
|
| 第8楼 yixiaoyun | 发表于 2008-06-29 19:54 |
| 新手上路 发帖 6 积分 14 | |
|
是的。vpn连上后会分配给一个私网ip,并且把这个ip作为默认路由。但是我要和vpn内网的设备通信必须把分配的ip作为一个默认网关,才能访问vpn内部的主机。
|
|
| 第9楼 everest79 | 发表于 2008-06-30 02:24 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
出错提示是指你那个文件被其它过程调用
在本地路由表中 0.0.0.0/0 61.61.61.61 (ADSL) 20 0.0.0.0/0 23.23.23.23 (VPN) 20 你想删除VPN自已添加的这条路由,其实不删也没什么,因为不会影响你指定静态路由 10.209.60.0/24 23.23.23.23 1 |
|
| 第10楼 yixiaoyun | 发表于 2008-07-01 21:27 |
| 新手上路 发帖 6 积分 14 | |
|
不删除不行,因为如果不删除,我就没有办法上公网了。其实关键的问题我是解决不了route print 命令结果输出到文本。
|
|
| 第11楼 HAT | 发表于 2008-07-01 22:18 |
| 版主 发帖 5,017 积分 9,023 | |
|
能否把报错的信息截图上来看看?
|
|
| 第12楼 balinger | 发表于 2008-07-01 22:21 |
| 中级用户 发帖 115 积分 356 | |
|
晕!你是不是把批命名为route.bat?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |