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

[系统相关] 【已解决】批处理如何根据机器名和IP修改IPX(内部网络号)

请高手帮忙编写一段根据机器名(比如机器名为:PC-110),内网IP地址为:192.168.0.110

现在就是需要编写一个bat或者vbs获取机器名PC-110或IP:192.168.0.110,然后根据获取到的最后三位数字修改对应的IPX,比如这里的IPX对于修改成:00000110,不知道该怎么写呢?请本论坛的高手指点下。不胜感激。

我只找到个修改IPX的简单代码:
::更改网络号。。。。。。
REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d %netkey% /f

  1. @echo off
  2. for /f "tokens=16 delims=." %%a in ('ipconfig ^| findstr "IP Address"') do set netkey=%%a
  3. REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d %netkey% /f
复制代码

TOP

根据Batcher的提示和其他渠道获取到

以下是一个开机绑定本机和路由器IP对应Mac地址的批处理:

@echo off
arp -d
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%b
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "IP Address"') do set ip=%%b
for /f "tokens=16 delims=." %%c in ('ipconfig ^| findstr "IP Address"') do set netkey=%%c
arp -s %ip:~1% %mac:~1%
REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d %netkey% /f

TOP

谢谢Batcher!在这里继续请教下:这里的VirtualNetworkNumber为16进制的,怎么让它默认是10进制的呢?
16进制的话,96在VirtualNetworkNumber值里面就显示的是60
如果可以的话,我在三楼发的批处理该如何更改?请高手指点!

[ 本帖最后由 lj47312 于 2008-7-28 16:20 编辑 ]

TOP

  1. rem 十六进制
  2. reg add HKEY_CURRENT_USER\Software\ /v test /t REG_DWORD /d 0x3fb /f
复制代码
前面加0x

TOP

按照您的指点我的批处理是不是应该写成:

@echo off
arp -d
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%b
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "IP Address"') do set ip=%%b
for /f "tokens=16 delims=." %%c in ('ipconfig ^| findstr "IP Address"') do set netkey=%%c
arp -s %ip:~1% %mac:~1%
REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d 0x3fb %netkey% /f

@echo off
arp -d
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%b
for /f "tokens=1* delims=:" %%a in ('ipconfig /all^|find /i "IP Address"') do set ip=%%b
for /f "tokens=16 delims=." %%c in ('ipconfig ^| findstr "IP Address"') do set netkey=%%c
arp -s %ip:~1% %mac:~1%
REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d %netkey% 0x3fb /f
应该是①还是②呢?

[ 本帖最后由 lj47312 于 2008-8-2 21:52 编辑 ]

TOP

这一句应该这样的吧

REG_DWORD /d 0x%netkey% /f

TOP

根据IP改IPX

@echo off
for /f "tokens=16 delims=." %%a in ('ipconfig ^| findstr "IP Address"') do set netkey=%%a
REG add "HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters" /v VirtualNetworkNumber /t REG_DWORD /d  0x%netkey% /f

TOP

返回列表