iT邦幫忙

0

批次檔其他IP設定

我會用批次檔進行IP設定,可是我不想切換要寫第二組的話指令該怎麼下呢?
像下圖這部分內容我要怎麼寫才能用批次檔填進去
http://ithelp.ithome.com.tw/upload/images/20160831/20092921bwdFIrYBVN.jpg

小成 iT邦高手 10 級 ‧ 2019-11-25 12:43:31 檢舉
我比較想知道樓主是在甚麼情境下,想要怎樣的結果?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
尼克
iT邦大師 1 級 ‧ 2016-08-31 17:54:53
sheep0000 iT邦新手 5 級 ‧ 2016-09-01 09:36:37 檢舉

謝謝你的回應,這部分之前有看,不過我需要同時存在兩組所以才會想請教如何以指令設定第二組。

1
mutualpak
iT邦研究生 5 級 ‧ 2016-09-01 09:40:01
@echo off
netsh interface ip set address name="區域連線" source=static addr=192.168.1.18 mask=255.255.255.0 gateway= gwmetric=1

把它存成兩個批次檔,內容IP也修改成兩組,需要時點選批次檔自動切換IP

看更多先前的回應...收起先前的回應...
蟹老闆 iT邦大師 1 級 ‧ 2016-09-01 15:01:55 檢舉
@echo off
CLS
Md "%Windir%\MdTest" 2>nul&&Rd "%Windir%\MdTest" >nul 2>nul||(Echo.&Echo.&Echo 請用右鍵以系統管理員身分執行&Echo.&Echo.&Echo.&Echo.&Pause&Exit)
FOR /F "DELIMS=:+ TOKENS=1" %%I In ('TYPE "%~f0"^|FINDSTR  ^^^^::+') Do Set %%I=Used
setlocal enabledelayedexpansion
Set GW=192.168.0.1
Set Subnet=255.255.255.0
Set DNS1=168.95.1.1
Set DNS2=8.8.8.8
Set GetIP=%1&REM 若不是Aoto則是手動
For /f "Skip=1" %%i In ('wmic nic  Where NetEnabled^=True Get NetConnectionID^|findstr .') Do (
    If /I "%1" EQU "Auto" (
        Netsh interface ip set address "%%i" dhcp||(Echo 錯誤^:1 &Goto :Err)
        Netsh interface ip set dnsservers "%%i" dhcp||(Echo 錯誤^:2 &Goto :Err)
        Goto :EOF
    ) Else (
        Call :FindIP
        Netsh interface ip Set Address "%%i" Static !IP! !Subnet! !GW! 1
        Netsh interface ip Set dnsservers "%%i" static !DNS1! none No
        Echo ::+!IP!>>"%~f0"
        Set IP=   
Goto :EOF
    )
)
Echo 無可用IP
Pause
Goto :EOF
:Err
Echo 設定失敗,請排除後再執行一次
Pause
Goto :EOF
:FindIP
FOR /F "DELIMS=:- TOKENS=1" %%J In ('TYPE "%~f0"^|FINDSTR /I "^::-"') Do (
    If Not Defined %%J Set IP=%%J&Goto :EOF
)
Goto :EOF
::Unused 底下列出要指定的 IP 位置清單格式必須是::-IP位置
::-192.168.0.1
::-192.168.0.2
::========以上是未使用的IP清單==============
::========以下是已使用的IP清單==============
::Used
::+192.168.0.1


將底下批次檔指令存成.bat檔
底下清單

蟹老闆 iT邦大師 1 級 ‧ 2016-09-01 15:08:51 檢舉

底下項目設成符合的環境
Set GW=192.168.0.1
Set Subnet=255.255.255.0
Set DNS1=168.95.1.1
Set DNS2=8.8.8.8
在"::Unused 底下列出要指定的 IP 位置清單格式必須是::-IP位置"下輸入要使用的IP位置
重要!!!
最要留一行空白行(只有換行符號)

功能說明:
使用過的IP會自動記錄,在同一網路環境中不會設定到相同的IP
要使用的IP位置可設到環境中的最大數量

蟹老闆 iT邦大師 1 級 ‧ 2016-09-01 15:10:01 檢舉

回錯位置了....

尼克 iT邦大師 1 級 ‧ 2016-09-01 15:18:27 檢舉

/images/emoticon/emoticon32.gif

1
竹本立里
iT邦好手 1 級 ‧ 2019-11-25 11:52:52

難怪這題沒有最佳解答 因為沒人看懂樓主的問題

我也遇到跟樓主同樣的困擾https://ithelp.ithome.com.tw/upload/images/20191125/20102474XAco0AcWX2.jpg

用GUI設定 很簡單,

但用批次檔設定, 第二次執行的指令會蓋掉第一次

1

FYI
第二片網路卡 netsh interface 的 bat 檔,為何無法執行成功,還有新增第二個 ip 動作
https://ithelp.ithome.com.tw/articles/10212088

看更多先前的回應...收起先前的回應...

用了門神的方法 果然成功了 YA!!!

/images/emoticon/emoticon39.gif

https://ithelp.ithome.com.tw/upload/images/20191125/20102474mJRVRk3zW5.png

netsh interface ip set dnsservers "區域連線" static 8.8.8.8
netsh interface ip add dnsservers "區域連線" 168.95.1.1

終於看到差別了
第一行是setstatic
第二行是 add
不管在設定IP DNS WINS 都是 set & add

/images/emoticon/emoticon12.gif

我要發表回答

立即登入回答