[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
@echo off
:::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt

:::::::::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
find "Subnet Mask" ipconfig.txt >MASKAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
for /f "skip=2 tokens=15" %%m in (MASKAddr.txt) do set MASKS=%%m

:::::::::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G

:::::::::读取DNS地址
if exist DNSServers.txt del DNSServers.txt
find "DNS Servers" ipconfig.txt >DNSServers.txt
for /f "skip=2 tokens=13" %%e in (DNSServers.txt) do set DNSIP=%%e

:::::::::设置本机IP地址
netsh interface ipv4 set address name="本地连接" source=static address=%IP% mask=%MASKS% gateway=%GateIP%
netsh interface ipv4 add dnsserver name="本地连接" address=%DNSIP% index=1

:::::::::清理文件
del /q ipconfig.txt
del /q IPAddr.txt
del /q MASKAddr.txt
del /q GateIP.txt
del /q DNSServers.txt
echo 任务完成

[ 本帖最后由 NeverOK 于 2009-5-7 14:06 编辑 ]
1

评分人数

TOP

SORRY

netsh interface ipv4 set address name="本地连接" source=static address=%IP% mask=%MASKS% gateway=%GateIP%
netsh interface ipv4 add dnsserver name="本地连接" address=%DNSIP% index=1

我是在windows 2008里的,所以有这个命令.你的是XP或2000吧?

把NETSH语句改成:
netsh interface ip set address name="本地连接" source=static address=%IP% mask=%MASKS% gateway=%GateIP%
netsh interface ip add dnsserver name="本地连接" address=%DNSIP% index=1
1

评分人数

TOP

你再试一下

netsh interface ip set address name="本地连接" static  %IP% %MASKS% %GateIP% 1
netsh interface ip add dns name="本地连接" %DNSIP% index=1

有的系统可以接受上面的语法,有的能接受4楼语法

[ 本帖最后由 NeverOK 于 2009-5-7 21:59 编辑 ]
1

评分人数

TOP

以下语句在windows xp \windows 2000\ windows 2003上测试通过

@echo off
:::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt

:::::::::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
find "Subnet Mask" ipconfig.txt >MASKAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
for /f "skip=2 tokens=15" %%m in (MASKAddr.txt) do set MASKS=%%m


:::::::::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G


:::::::::读取DNS地址
if exist DNSServers.txt del DNSServers.txt
find "DNS Servers" ipconfig.txt >DNSServers.txt
for /f "skip=2 tokens=15" %%e in (DNSServers.txt) do set DNSIP=%%e

:::::::::设置本机IP地址
netsh interface ip set address name="本地连接" static %IP% %MASKS% %GateIP% 1
netsh int ip add dns name="本地连接" %DNSIP% index=1



:::::::::清理文件
del /q ipconfig.txt
del /q IPAddr.txt
del /q MASKAddr.txt
del /q GateIP.txt
del /q DNSServers.txt
echo 任务完成
pause
1

评分人数

TOP

哈,我刚刚在虚拟机里也是遇到了类似的问题,做的好一点应该做个清除现有配置(刚刚测试的时候产生的配置)项的功能,你==
下面的内容你保存一下(可以自动获取IP,也可以手动指定)


@echo off
:choice_A
echo                ┌────────┐
echo                │ [1] 手动指定ip │
echo                │ [2] 自动获取ip │
echo                │ 请选择...      │
echo                └────────┘
set /p choice_A=
if /i "%choice_A%"=="1" goto :choice_go1
if /i "%choice_A%"=="2" goto :choice_go2
goto choice_cc
netsh int ip set address name="本地连接" dhcp

:choice_go1
:::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt

:::::::::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
find "Subnet Mask" ipconfig.txt >MASKAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
for /f "skip=2 tokens=15" %%m in (MASKAddr.txt) do set MASKS=%%m


:::::::::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G


:::::::::读取DNS地址
if exist DNSServers.txt del DNSServers.txt
find "DNS Servers" ipconfig.txt >DNSServers.txt
for /f "skip=2 tokens=15" %%e in (DNSServers.txt) do set DNSIP=%%e

:::::::::设置本机IP地址
netsh interface ip set address name="本地连接" static %IP% %MASKS% %GateIP% 1
netsh int ip add dns name="本地连接" %DNSIP% index=1



:::::::::清理文件
del /q ipconfig.txt
del /q IPAddr.txt
del /q MASKAddr.txt
del /q GateIP.txt
del /q DNSServers.txt
echo 任务完成
pause
goto :eof

:choice_go2
netsh int ip set address name="本地连接" dhcp
netsh int ip set DNS name="本地连接" dhcp
echo 任务完成
pause
goto :eof

:end

[ 本帖最后由 NeverOK 于 2009-5-7 22:22 编辑 ]

TOP

先用2嘛,清除一下现有配置

TOP

蓝牙,你的是IBM的本?我的也是,倒没注意,

意见很好,==
-------------------------------------------------
我看到你的蓝牙=#3了,你的ipconfig /all文本可以帖上来吗?

[ 本帖最后由 NeverOK 于 2009-5-7 22:34 编辑 ]

TOP

不用,因为for的tokens搜索以空格区分列,bluetooth有3个空格,我对FOR还不是很熟悉,在摸索
1

评分人数

TOP

返回列表