楼 主
route print 输出到文本报错
发表于 2008-06-29 02:17 · 中国 山西 太原 联通
新手上路
★
积分 14 发帖 6 注册 2007-12-02 01:52 UID 104406 性别 男
状态 离线
我写了一个更改特定路由的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 楼
发表于 2008-06-29 11:36 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
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 楼
发表于 2008-06-29 14:53 · 中国 福建 福州 电信
中级用户
★★
积分 356 发帖 115 注册 2004-07-27 00:00 UID 29114 性别 男
状态 离线
route -f
就可以清除网关。
然后
route add .................
第 4 楼
发表于 2008-06-29 14:58 · 中国 山西 移动
新手上路
★
积分 14 发帖 6 注册 2007-12-02 01:52 UID 104406 性别 男
状态 离线
谢谢帮我出主意,但是我不想清除所有默认网关,因为可能有别的我不想清除的默认网关。有别的办法么?
第 5 楼
发表于 2008-06-29 15:07 · 中国 福建 福州 电信
中级用户
★★
积分 356 发帖 115 注册 2004-07-27 00:00 UID 29114 性别 男
状态 离线
第 6 楼
发表于 2008-06-29 15:11 · 中国 山西 移动
新手上路
★
积分 14 发帖 6 注册 2007-12-02 01:52 UID 104406 性别 男
状态 离线
但是还有一个原因需要用route print命令时,我需要自动添加一条路由,这条路由的下一跳是从route print里得到的。
第 7 楼
发表于 2008-06-29 16:00 · 中国 福建 福州 电信
中级用户
★★
积分 356 发帖 115 注册 2004-07-27 00:00 UID 29114 性别 男
状态 离线
不明白楼主要做什么。
route add 10.209.60.0 mask 255.255.255.0 %%a 不是添加网关的命令啊?
第 8 楼
发表于 2008-06-29 19:54 · 中国 山西 移动
新手上路
★
积分 14 发帖 6 注册 2007-12-02 01:52 UID 104406 性别 男
状态 离线
是的。vpn连上后会分配给一个私网ip,并且把这个ip作为默认路由。但是我要和vpn内网的设备通信必须把分配的ip作为一个默认网关,才能访问vpn内部的主机。
第 9 楼
发表于 2008-06-30 02:24 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 UID 74552 性别 男
状态 离线
出错提示是指你那个文件被其它过程调用
在本地路由表中
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
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 10 楼
发表于 2008-07-01 21:27 · 中国 山西 太原 联通
新手上路
★
积分 14 发帖 6 注册 2007-12-02 01:52 UID 104406 性别 男
状态 离线
不删除不行,因为如果不删除,我就没有办法上公网了。其实关键的问题我是解决不了route print 命令结果输出到文本。
第 11 楼
发表于 2008-07-01 22:18 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
第 12 楼
发表于 2008-07-01 22:21 · 中国 福建 福州 连江县 电信
中级用户
★★
积分 356 发帖 115 注册 2004-07-27 00:00 UID 29114 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正