一、bat编写前注意事项
windows桌面用文本文件打开把批命令输入在文本框中,保存采用ANSI编码,后缀用.bat
可参考博客——bat脚本简介学习原理以及具体创建方式
(文件扩展名位置)
- 语法准确性:严格遵循 BAT 脚本的语法规则,包括命令的正确书写、参数的使用等。
- 路径格式:确保文件和文件夹的路径书写正确,注意使用正确的盘符和分隔符。
- 权限问题:如果涉及到系统关键区域或需要特定权限的操作,要确保当前用户有足够权限执行。
- 变量使用:合理定义和使用变量,注意变量名的合法性和作用域。
- 测试环境:先在测试环境中进行初步测试,确保脚本按预期运行,避免对生产环境造成意外影响。
- 空格问题:命令和参数之间的空格要适当,避免因空格不当导致执行错误。
- 逻辑清晰:保持脚本的逻辑清晰,避免复杂混乱的流程导致难以理解和维护。
- 兼容性:考虑不同操作系统版本可能存在的差异,尽量保证脚本在多种环境下的兼容性。
- 错误处理:适当添加错误处理机制,以便在遇到问题时能给出提示或采取相应措施。
- 代码可读性:书写规范,添加必要的注释,提高脚本的可读性
- 总结:注意中英文符号,语法规则严格(空格,回车等要注意),是否采用管理员权限,编写考虑是否使用全局变量,建议先在虚拟机测试在实际环境使用,不同环境兼容性,代码规范,多添加反馈。
二、bat 快速修改网络配置
@echo off
rem 设置 IP 地址、子网掩码和网关
netsh interface ip set address name="本地连接" source=static addr=192.168.1.100 mask=255.255.255.0 gateway=192.168.1.1
rem 设置
DNS netsh interface ip set dns name="本地连接" source=static addr=8.8.8.8 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=8.8.4.4 index=2
@echo off
:这行命令用于关闭命令行的回显,即执行脚本时不在屏幕上显示执行的每一条命令。rem 设置 IP 地址、子网掩码和网关
:这里的“rem”表示注释,后面的文字是对这部分代码功能的说明。netsh interface ip set address name="本地连接" source=static addr=192.168.1.100 mask=255.255.255.0 gateway=192.168.1.1
:netsh
:一个强大的网络配置工具。interface ip set address
:指定要进行 IP 地址相关的设置操作。name="本地连接"
:指定要修改配置的网络连接名称。- 本地连接可根据需要改成网卡连接名称
addr=192.168.1.100
:设置的具体 IP 地址。- 可根据需求更改
mask=255.255.255.0
:子网掩码。- 可根据需求更改
gateway=192.168.1.1
:网关地址。- 可根据需求更改
rem 设置 DNS
:注释说明。netsh interface ip set dns name="本地连接" source=static addr=8.8.8.8 register=PRIMARY
:- 设置主要 DNS 服务器地址为 8.8.8.8。
netsh interface ip add dns name="本地连接" addr=8.8.4.4 index=2
:add dns
:添加额外的 DNS 服务器。addr=8.8.4.4
:第二个 DNS 服务器地址。index=2
:表示这是第二个添加的 DNS 地址。
加入变量自行输入
set /p IP="请输入 IP 地址: "
set /p MASK="请输入子网掩码: "
set /p GATEWAY="请输入网关: "
set /p DNS1="请输入主 DNS: "
set /p DNS2="请输入备用 DNS: "
netsh interface ip set address name="本地连接" source=static addr=%IP% mask=%MASK% gateway=%GATEWAY%
netsh interface ip set dns name="本地连接" source=static addr=%DNS1% register=PRIMARY
netsh interface ip add dns name="本地连接" addr=%DNS2% index=2
set /p IP="请输入 IP 地址: "
:set /p
表示设置并提示用户输入。- 注意:在批处理脚本中,默认情况下所有变量都是全局变量.
- 但在
SETLOCAL
和ENDLOCAL
之间被赋值的变量则是局部变量。
- 但在
- 注意:在批处理脚本中,默认情况下所有变量都是全局变量.
IP
是定义的变量名。- 可自行设定
="请输入 IP 地址: "
是给用户显示的提示信息,告知用户需要输入的内容。