為解決局域網IP、DNS切換的Windows BAT腳本

一、背景

為解決公司普通人員需要切換IP、DNS的情況,于是搞了個windows下的bat腳本,可以對有線網絡、無線網絡進行切換設置。

腳本內容

@echo off
title 多網絡接口IP切換工具:menu
cls
echo ============================
echo 請選擇要配置的網絡接口:
echo ============================
echo 1. 有線網絡(以太網)
echo 2. 無線網絡(Wi-Fi)
echo 3. 刷新DNS緩存
echo 4. 退出
echo ============================
set /p choice=請輸入選項(1-3): if %choice%==1 goto wiredMenu
if %choice%==2 goto wirelessMenu
if %choice%==3 goto flushDns
if %choice%==4 goto end:wiredMenu
cls
echo ============================
echo 選擇有線網絡的IP配置:
echo ============================
echo 1. 使用DHCP自動獲取所有設置
echo 2. 使用DHCP自動獲取IP地址 (固定DNS)
echo 3. IP配置 1 (192.168.66.101)
echo 4. IP配置 2 (192.168.1.101)
echo 5. 返回主菜單
echo ============================
set /p wiredChoice=請輸入選項(1-5): if %wiredChoice%==1 goto wiredDhcp
if %wiredChoice%==2 goto wiredDhcpFixedDns
if %wiredChoice%==3 goto wiredIp1
if %wiredChoice%==4 goto wiredIp2
if %wiredChoice%==5 goto menu:wiredDhcp
echo 正在設置有線網絡使用DHCP自動獲取IP地址和DNS...
call :applyDhcp "以太網"
goto checkConfigEthernet:wiredDhcpFixedDns
echo 正在設置有線網絡使用DHCP自動獲取IP地址,但使用固定DNS...
call :applyDhcpWithFixedDns "以太網" "202.101.202.68" "202.101.224.69"
goto checkConfigEthernet:wiredIp1
echo 應用有線網絡IP配置 1...
call :applyIp "以太網" "192.168.66.101" "255.255.255.0" "192.168.66.1" "202.101.202.68" "202.101.224.69"
goto checkConfigEthernet:wiredIp2
echo 應用有線網絡IP配置 2...
call :applyIp "以太網" "192.168.1.101" "255.255.255.0" "192.168.1.1" "202.101.202.68" "202.101.224.69"
goto checkConfigEthernet:wirelessMenu
cls
echo ============================
echo 選擇無線網絡的IP配置:
echo ============================
echo 1. 使用DHCP自動獲取所有設置
echo 2. 使用DHCP自動獲取IP地址 (固定DNS)
echo 3. IP配置 1 (192.168.1.102)
echo 4. IP配置 2 (192.168.1.103)
echo 5. 返回主菜單
echo ============================
set /p wirelessChoice=請輸入選項(1-5): if %wirelessChoice%==1 goto wirelessDhcp
if %wirelessChoice%==2 goto wirelessDhcpFixedDns
if %wirelessChoice%==3 goto wirelessIp1
if %wirelessChoice%==4 goto wirelessIp2
if %wirelessChoice%==5 goto menu:wirelessDhcp
echo 正在設置無線網絡使用DHCP自動獲取IP地址和DNS...
call :applyDhcp "WLAN"
goto checkConfigWifi:wirelessDhcpFixedDns
echo 正在設置無線網絡使用DHCP自動獲取IP地址,但使用固定DNS...
call :applyDhcpWithFixedDns "WLAN" "202.101.202.68" "202.101.224.69"
goto checkConfigWifi:wirelessIp1
echo 應用無線網絡IP配置 1...
call :applyIp "WLAN" "192.168.1.102" "255.255.255.0" "192.168.1.1" "202.101.202.68" "202.101.224.69"
goto checkConfigWifi:wirelessIp2
echo 應用無線網絡IP配置 2...
call :applyIp "WLAN" "192.168.1.103" "255.255.255.0" "192.168.1.1" "202.101.202.68" "202.101.224.69"
goto checkConfigWifi:applyDhcp
set INTERFACE_NAME=%1
netsh interface ipv4 set address name=%INTERFACE_NAME% source=dhcp
netsh interface ipv4 set dns name=%INTERFACE_NAME% source=dhcp
echo DHCP已啟用.
goto :eof:applyDhcpWithFixedDns
set INTERFACE_NAME=%1
set FIXED_DNS=%2
set SECONDARY_DNS=202.101.202.68
netsh interface ipv4 set address name=%INTERFACE_NAME% source=dhcp
netsh interface ipv4 set dns name=%INTERFACE_NAME% static %FIXED_DNS%
netsh interface ipv4 add dns name=%INTERFACE_NAME% %SECONDARY_DNS% index=2
echo DHCP已啟用,并設置了固定的DNS服務器.
goto :eof:applyIp
set INTERFACE_NAME=%1
set NEW_IP=%2
set SUBNET_MASK=%3
set DEFAULT_GATEWAY=%4
set DNS_SERVER=%5netsh interface ipv4 set address name=%INTERFACE_NAME% static %NEW_IP% %SUBNET_MASK% %DEFAULT_GATEWAY%
netsh interface ipv4 set dns name=%INTERFACE_NAME% static %DNS_SERVER%
netsh interface ipv4 add dns name=%INTERFACE_NAME% 202.101.202.68 index=2
echo IP配置已更新.
goto :eof:checkConfigEthernet
echo 顯示當前有線網絡配置...
netsh interface ip show config name="以太網"
pause
goto menu:checkConfigWifi
echo 顯示當前無線網絡配置...
netsh interface ip show config name="WLAN"
pause
goto menu:flushDns
echo 正在刷新DNS緩存...
ipconfig /flushdns
echo DNS緩存已刷新。
pause
goto menu:end
echo 程序結束。
pause
exit

請用管理員運行的cmd輸入netsh interface ipv4 show interfaces
查看接口與腳本中的接口名稱是否一致
在這里插入圖片描述

三、自定義腳本

請自行用記事本、notpad++、EmEditor、cudatex對bat腳本進行修改
有線修改位置if %wiredChoice%==
在這里插入圖片描述
無線網絡修改位置if %wirelessChoice%==

在這里插入圖片描述

四、使用

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72790.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uni_app實現下拉刷新

1. 在頁面配置中啟用下拉刷新 首先,你需要在頁面的 pages.json 文件中啟用下拉刷新功能。 {"pages": [{"path": "pages/index/index","style": {"navigationBarTitleText": "首頁","enablePull…

OpenCV計算攝影學(14)實現對比度保留去色(Contrast Preserving Decolorization)的函數decolor()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 將彩色圖像轉換為灰度圖像。它是數字印刷、風格化的黑白照片渲染,以及許多單通道圖像處理應用中的基本工具。 cv::decolor 是 OpenCV…

Qt常用控件之 縱向列表QListWidget

縱向列表QListWidget QListWidget 是一個縱向列表控件。 QListWidget屬性 屬性說明currentRow當前被選中的是第幾行。count一共有多少行。sortingEnabled是否允許排序。isWrapping是否允許換行。itemAlignment元素的對齊方式。selectRectVisible被選中的元素矩形是否可見。s…

關于 QPalette設置按鈕背景未顯示出來 的解決方法

若該文為原創文章,轉載請注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146047054 長沙紅胖子Qt(長沙創微智科)博文大全:開發技術集合(包含Qt實用技術、樹莓派、三維、OpenCV…

PostgreSQL 安裝與使用

下載地址: EDB: Open-Source, Enterprise Postgres Database Management 安裝圖形化安裝界面安裝。安裝完后將bin目錄配置到系統環境變量 執行psql -h localhost -p 5432 -U postgres 密碼在安裝過程中設置的 ? 0、修改密碼 ALTER USER sonar WITH PASSWORD 123456; 1、新…

【基礎3】快速排序

核心思路 快速排序是Java中Arrays.sort()的實現原理,采用分治策略,通過選擇基準元素,將數組分為兩個子數組,使得左邊元素 ≤ 基準元素 ≤ 右邊元素,然后遞歸排序子數組。 舉個簡單的例子,圖書管理員需要按…

FreeSWITCH 簡單圖形化界面40 - 使用mod_curl模塊進行http請求

FreeSWITCH 簡單圖形化界面40 - 使用mod_curl模塊進行http請求 0、界面預覽00、簡介1、編譯安裝1.1 編輯模塊配置文件 2、使用2.1 撥號規則GET 請求POST 請求JSON 數據 2.2 Lua 腳本GET 請求POST 請求JSON 數據 3 、示例3.1 示例 1:提交 CDR 到第三方接口3.2 示例 2…

Linux 開發工具

linux中,常見的軟件安裝方式---下載 yum/apt.rpm安裝包安裝源碼安裝 yum 查看軟件包 通過yumlist命令可以羅列出當前?共有哪些軟件包.由于包的數?可能?常之多,這?我們需要使? grep 命令只篩選出我們關注的包.例如: # Centos $ yum list | grep lrzsz lr…

Agent革命:Manus如何用工作流拆解掀起AI生產力革命

一、現象級產品的誕生背景 2025年3月6日,一款名為Manus的AI產品在技術圈引發地震式傳播。其官方測試數據顯示:在GAIA基準測試中,基礎任務準確率達86.5%(接近人類水平),中高級任務完成率突破57%。這標志著A…

Linux13-TCP\HTTP

一、TCP粘包問題 1.TCP在接受數據時,多包數據粘在一起 2.原因: 2.1TCP發送數據時,會根據緩沖區數據的情況進行重新組包 2.2TCP接收方,沒有及時讀走緩沖區數據,導致緩沖區大量數據緩存。 3.如何解決 3.1發指定大小字節 將要發數據,封裝在結構體里 struct data { …

網絡安全等級保護2.0 vs GDPR vs NIST 2.0:全方位對比解析

在網絡安全日益重要的今天,各國紛紛出臺相關政策法規,以加強信息安全保護。本文將對比我國網絡安全等級保護2.0、歐盟的GDPR以及美國的NIST 2.0,分析它們各自的特點及差異。 網絡安全等級保護2.0 網絡安全等級保護2.0是我國信息安全領域的一…

oracle通過dmp導入數據

1、創建用戶,并賦予sysdba權限 登錄sysdba用戶 sqlplus / as sysdba 賦予sysdba權限 grant sysdba to your_user; 2、導入dmp文件 imp target_user/passwordip:port/SERVER_NAME fromusersource_user tousertarget_user fileyour.dmp logdmp_file.log statist…

MySQL 面試篇

MySQL相關面試題 定位慢查詢 **面試官:**MySQL中,如何定位慢查詢? 我們當時做壓測的時候有的接口非常的慢,接口的響應時間超過了2秒以上,因為我們當時的系統部署了運維的監控系統Skywalking ,在展示的報表中可以看到…

MyBatis 操作數據庫

目錄 1、MyBatis 是什么2、配置 MyBatis 開發環境2.1、添加 MyBatis 框架支持2.1.1、老項目添加 MyBatis2.1.2、新項目添加 MyBatis 2.2、配置數據庫連接字符串2.3、配置 MyBatis 中的 XML 路徑 3、添加業務代碼3.1、添加實體類3.2、添加 mapper 接口3.3、添加 xml 文件3.4、添…

uniapp使用藍牙,usb,局域網,打印機打印

使用流程(支持安卓和iOS) 引入SDK 引入原生插件包地址如下 https://github.com/oldfive20250214/UniPrinterDemo 連接設備 安卓支持經典藍牙、ble藍牙、usb、局域網(參考API) iOS支持ble藍牙、局域網(參考API&…

Jmeter進行http接口測試詳解

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 本文主要針對http接口進行測試,使用 jmeter工具實現。 Jmeter工具設計之初是用于做性能測試的,它在實現對各種接口的調用方面已經做的比較…

力扣35.搜索插入位置-二分查找

class Solution:def searchInsert(self, nums: List[int], target: int) -> int:# 初始化左右指針left, right 0, len(nums) - 1# 當左指針小于等于右指針時&#xff0c;繼續循環while left < right:# 計算中間位置mid (left right) // 2# 如果中間元素等于目標值&…

為AI聊天工具添加一個知識系統 之133 詳細設計之74通用編程語言 之4 架構及其核心

本篇繼續討論 通用編程語言。 說明&#xff1a;本階段的所有討論都是圍繞這一主題展開的&#xff0c;但前面的討論分成了三個大部分&#xff08;后面列出了這一段的討論題目的歸屬關系&#xff09;-區別distinguish&#xff08;各別&#xff09;&#xff1a; 文化和習俗。知識…

PPT 技能:巧用 “節” 功能,讓演示文稿更有序

在制作PPT時&#xff0c;你是否遇到過這樣的情況&#xff1a;幻燈片越來越多&#xff0c;內容越來越雜&#xff0c;找某一頁內容時翻得眼花繚亂&#xff1f;尤其是在處理大型PPT文件時&#xff0c;如果沒有合理的結構&#xff0c;編輯和調整都會變得非常麻煩。這時候&#xff0…

劉火良 FreeRTOS內核實現與應用之1——列表學習

重要數據 節點的命名都以_ITEM后綴進行&#xff0c;鏈表取消了后綴&#xff0c;直接LIST 普通的節點數據類型 /* 節點結構體定義 */ struct xLIST_ITEM { TickType_t xItemValue; /* 輔助值&#xff0c;用于幫助節點做順序排列 */ struct xLIST_I…