佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > IP地址自動(dòng)設(shè)置的批處理代碼分享

IP地址自動(dòng)設(shè)置的批處理代碼分享

熱門標(biāo)簽:銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布 美圖手機(jī) 鐵路電話系統(tǒng) 服務(wù)器配置 呼叫中心市場需求 檢查注冊表項(xiàng) 智能手機(jī)

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

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

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

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

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

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

echo =====================
echo   自動(dòng)IP By L
echo =====================

rem eth //eth 為網(wǎng)卡名稱
echo 1.檢測活動(dòng)網(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)前活動(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.生成下一個(gè)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 上一個(gè)編號(hào)為:%id%
echo 上一個(gè)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 下一個(gè)編號(hào)為:%newid%
)

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

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

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

pause 
echo.

您可能感興趣的文章:
  • 批處理經(jīng)典入門教程!(從不懂到高手)
  • windows批處理命令教程
  • bat批處理 if 命令示例詳解
  • 批處理 Set 命令詳解 讓你理解set命令
  • BAT批處理中的字符串處理詳解(字符串截取)
  • 批處理命令Start的使用介紹
  • 批處理bat設(shè)置固定IP地址和自動(dòng)IP地址
  • Windows下用命令行修改IP地址的方法詳解(附批處理文件)
  • 批處理獲取網(wǎng)卡名稱的代碼(附修改IP、網(wǎng)關(guān)、DNS腳本)
  • 獲取外網(wǎng)IP地址的批處理代碼
  • 批處理、VBS實(shí)現(xiàn)自動(dòng)設(shè)置IP、默認(rèn)網(wǎng)關(guān)、DNS、WINS、IE代理(全)

標(biāo)簽:上海 樂山 滄州 河南 沈陽 新疆 長治 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《IP地址自動(dòng)設(shè)置的批處理代碼分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    垫江县| 蛟河市| 朝阳区| 原平市| 额济纳旗| 明星| 渭源县| 雷波县| 城市| 建阳市| 万源市| 郎溪县| 沅江市| 稻城县| 任丘市| 安乡县| 康马县| 和田市| 微博| 岐山县| 甘泉县| 涟源市| 黄梅县| 东海县| 静乐县| 鄯善县| 永平县| 大邑县| 宝清县| 庆元县| 旬阳县| 义乌市| 青铜峡市| 昌宁县| 交城县| 平利县| 张北县| 宁国市| 嘉鱼县| 伊川县| 鹿邑县|