溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IP地址如何自動設(shè)置批處理

發(fā)布時間:2021-06-17 12:43:07 來源:億速云 閱讀:323 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了IP地址如何自動設(shè)置批處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

批處理文件是將一系列命令按一定的順序集合為一個可執(zhí)行的文本文件,其擴(kuò)展名為BAT或者CMD。這些命令統(tǒng)稱批處理命令。

小知識:可以在鍵盤上按下Ctrl+C組合鍵來強(qiáng)行終止一個批處理的執(zhí)行過程。

一般常規(guī)的批處理命令,按照自上而下的順序逐行執(zhí)行,也就是說,只有第一行命令執(zhí)行之后,才可能執(zhí)行第二行,第二行執(zhí)行之后,才可以執(zhí)行到第三行.....如此依次執(zhí)行。那么,如果對于不同的情況,需要執(zhí)行不同的既定操作,常規(guī)的執(zhí)行規(guī)則顯然是無法完成任務(wù)的,這種應(yīng)用場景下怎么辦呢?我們就需要引入流程跳轉(zhuǎn)的概念,即就是動用流程跳轉(zhuǎn)語句goto了。流程跳轉(zhuǎn)的含義:改變默認(rèn)的執(zhí)行順序,強(qiáng)制跳轉(zhuǎn)到指定的位置執(zhí)行特定的程序塊。

  為什么要把goto和冒號這兩個命令聯(lián)合起來介紹?因為它們是分不開的,無論少了哪個或多了哪個都會出錯。goto是個跳轉(zhuǎn)命令,緊跟其之后的是標(biāo)簽名;冒號是一個標(biāo)簽標(biāo)志,緊跟其之后的是標(biāo)簽名,兩者合稱標(biāo)簽。當(dāng)程序運行到goto時,將自動跳轉(zhuǎn)到冒號定義的部分去執(zhí)行(呵呵~試想一下,是不是分不開?)。goto語句與標(biāo)簽一一呼應(yīng),在實現(xiàn)流程跳轉(zhuǎn)時相輔相成,缺一不可。

基礎(chǔ)知識介紹完畢,我們來看一個IP地址自動設(shè)置的批處理的實例代碼

@echo off
MODE con: COLS=80 lines=30 
color 0b
title 自動IP By L

echo =====================
echo   自動IP By L
echo =====================

rem eth //eth 為網(wǎng)卡名稱
echo 1.檢測活動網(wǎng)卡...
rem 獲取網(wǎng)絡(luò)連接名稱

@(for /f "tokens=3*" %%a in ('netsh interface show interface^|more +2') do @echo,%%b)>"network.txt"
set j=0
for /f "tokens=*" %%i in (network.txt) do (
  set /a j+=1
  set con!j!=%%i
  call set eth=%%con!j!%%
)
echo 當(dāng)前活動網(wǎng)卡名稱為:%eth%
set ipduan=149.32.49
rem gw //網(wǎng)關(guān)
set gw=%ipduan%.1
rem netmasks //子網(wǎng)掩碼 
set netmasks=255.255.255.0
rem 最大和最小IP地址
set MAXID=205
set MINID=5

echo 2.檢查ID配置...
set j=0
for /f "tokens=*" %%i in (nowid.txt) do (
  set /a j+=1
  set con!j!=%%i
  call set oldid=%%con!j!%%
)

if %oldid% LSS %MINID% (
echo 檢查nowid.txt文件,ID:%oldid%不能小于%MINID%
goto changeerror)

echo 3.生成下一個ip地址...

set j=0
for /f "tokens=*" %%i in (nowid.txt) do (
  set /a j+=1
  set con!j!=%%i
  call set id=%%con!j!%%
)
echo --------
echo 上一個編號為:%id%
echo 上一個ip地址為:%ipduan%.%id%
echo --------
set /a newid=%id%+1
if %newid% GTR %MAXID% (
echo IP段分配已達(dá)上限:%ipduan%.%MAXID%!請重新修改nowid.txt文件或檢查IP地址
goto changeerror
) else (
echo %newid% > nowid.txt
echo 下一個編號為:%newid%
)

rem ip //ip 為你想更改的IP 
set ip=%ipduan%.%newid%
echo 下一個ip地址:%ip%
echo 下一個ip地址網(wǎng)關(guān):%gw%
echo 下一個ip地址掩碼:%netmasks%
echo --------
echo 4.本機(jī)IP更改: %ip% 
rem 

netsh interface ipv4 set address %eth% static %ip% %netmasks% %gw% 
rem >nul
echo.
echo 5.驗證當(dāng)前本機(jī)IP:

ipconfig -all >ipconfig.txt
type ipconfig.txt | find "%ip%" && goto success
:changeerror
echo 修改失敗,請手動分配IP地址!
goto :end
:success
echo 修改成功
goto :end
:end

pause 
echo.

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“IP地址如何自動設(shè)置批處理”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI