标题: [网络连接] 批处理怎样手动输入IP与DHCP获取IP的问题? [打印本页]
作者: allen4597 时间: 2015-5-29 17:52 标题: 批处理怎样手动输入IP与DHCP获取IP的问题?
最近才开始学习批处理,很多命令不明白,希望各位高手指教。
我的问题是这样的,先通过批处理来实现DHCP自动分配IP,之后将系统自动分配的IP地址、子网掩码及网关、DNS手动写入。
第一步我写的DHCP自动获取IP命令如下- @echo off
- title 动态自动获取IP设置
- set name=本地连接
- netsh int ip set addr name="%name%" dhcp
- netsh int ip set dns name="%name%" dhcp
- netsh interface ipv4 show address #(这句是为了让BAT运行后显示出获得的IP)
- echo 动态自动获取IP设置完成
- pause
复制代码
然后手动写入IP的命令如下- @echo off
- title 静态IP设置
- set name=本地连接
- set IP=10.10.1.2
- set mask=255.255.255.128
- set gw=10.10.1.1
- set dns=202.100.138.68
- set dns2=202.100.128.68
- netsh int ip set addr name="%name%" source=static addr=%IP% mask=%mask% gateway=%gw% gwmetric=1
- netsh int ip set dns name="%name%" source=static addr=%dns% register=primary
- netsh int ip add dns name="%name%" addr=%dns2%
- netsh interface ip set wins name="%name%" source=static addr=none
- echo 静态IP设置完成
- pause
复制代码
现在卡住了,我想把两个小程序组合成一个BAT。不知道可不可行,堆栈调用什么的命令还不太懂,希望有高手能教教我。
在此提前感谢大家!
作者: allen4597 时间: 2015-5-30 22:58
求助~~没人知道吗?还是行不通?
作者: allen4597 时间: 2015-6-9 17:22
这个方法是不是行不通??高手请指点
作者: 我不是是人 时间: 2015-6-11 11:48
本帖最后由 我不是是人 于 2015-6-11 13:56 编辑
回復樓主,小弟也是個新手,方法是有想到,不過有一個小小的問題,我電腦是英文版的...........
所以有些地方你需要修改一下(希望對你有幫助)- @echo off
- title 動態自動獲取IP設置
- set name="Local Area Connection"
- netsh interface ip set address name=%name% source=dhcp
- netsh interface ip set dns name=%name% source=dhcp
- for /f "tokens=14" %%a in ('IPConfig^| Find /i "IPv4 Address"') do (
- set IP=%%a
- )
- for /f "tokens=15" %%a in ('IPConfig^| Find /i "Subnet Mask"') do (
- set mask=%%a
- )
- for /f "tokens=13" %%a in ('IPConfig^| Find /i "Default Gateway"') do (
- set gw=%%a
- )
- for /f "tokens=15" %%a in ('IPConfig /all ^| Find /i "DNS Servers"') do (
- set dns=%%a
- )
- setlocal enabledelayedexpansion
- ipconfig /all>>qweasdzxc.txt
- set /a min=29,max=29
- for /f "tokens=1 delims= " %%a in ('more +%min% "qweasdzxc.txt"')do (
- if !min! equ %max% set dns2=%%a
- set /a min+=1
- )
- del qweasdzxc.txt
- netsh.exe interface ip set address %name% static %IP% %mask% %gw% 1
- netsh.exe interface ip set dns %name% static %dns%
- netsh.exe interface ip add dns %name% %dns2%
- netsh interface ip set wins name="%name%" source=static addr=none
- exit
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |