复制代码
- @echo off & color 1F & title 热点助手0.7(预览版) --虚拟无线热点管理程序,适用于win7/win8
- (rem 程序名称 :热点助手
- rem 版本 :0.7 (预览版)
- rem 完成时间 :2012年12月9日 20:52:19
- rem 宏命令
- set "RESTARTAP=netsh wlan set hostednetwork mode=allow &netsh wlan start hostednetwork 1>nul 2>nul &ping 127.0.0.1 1>nul 2>nul &netsh wlan stop hostednetwork 1>nul 2>nul &netsh wlan start hostednetwork" &rem 重启热点
- setlocal EnableExtensions &rem 启用命令处理器扩展
- setlocal EnableDelayedExpansion &rem 启用延缓环境变量
- )
- rem 检查程序是否以管理员身份运行
- bcdedit /enum active 1>nul 2>nul
- if not "!errorlevel!"=="0" (
- color E0 &rem 设置警告背景及字体颜色,背景-淡黄 字体-黑色
- echo 警告:检测到您可能没有以管理员身份运行本程序,这将使得部分功能失效。
- echo 提示:以管理员身份运行程序的方法:右键点击程序,然后选择“以管理员身份运行”。
- set /p mainmenu=您想要继续运行程序吗?[Yes/No]^:
- if /i not "!mainmenu!"=="Yes" (goto End)
- )
- :Begin
- cls
- echo 提示:输入要进行的操作后的编号或字母,然后按回车键确认。
- echo;
- echo 自动设置并启动无线热点………………1 预定管理…………………………2
- echo;
- echo 开启无线热点……………………………3 关闭无线热点……………………4
- echo;
- echo 设置SSID…………………………………5 设置密码…………………………6
- echo;
- echo 显示客户端IP和物理地址………………7 检测驱动是否支持无线热点……8
- echo;
- echo 查看网络相关信息………………………9 打开帮助页面……………………h
- echo;
- echo 退出程序…………………………………0
- echo;
- set /p mainmenu=请选择:
- cls
- if "%mainmenu%"=="1" (
- echo 正在自动设置,这可能需要大约15秒的时间,请稍等……
- set "password=deepblue%random%"
- netsh wlan set hostednetwork ssid=softAP key=!password!
- %RESTARTAP%
- if "!errorlevel!"=="0" (
- echo 无线热点的SSID为:softAP
- echo 无线热点的密码为:!password!
- echo;
- echo 提示:如果忘记密码,请使用功能6重置密码。
- )
- )
- if "%mainmenu%"=="2" (
- echo 定时关闭计算机…………………1
- echo 取消定时关闭计算机……………2
- echo;
- echo 定时关闭无线热点………………3
- echo 取消定时关闭无线热点…………4
- echo;
- echo 开机时启动无线热点……………5
- echo 取消开机启动无线热点…………6
- echo;
- echo 退出回到主菜单…………………0
- echo;
- set /p submenu= 请选择^:
- cls
- if "!submenu!"=="1" (
- echo 您想要在多少分钟后关闭计算机?
- set /p shutdowntime=请输入:
- echo;
- set /a shutdowntime*=60 &rem 换算成分钟
- if not "!shutdowntime!"=="0" (
- shutdown -s -t !shutdowntime!
- set /a shutdowntime/=60
- if "!errorlevel!"=="0" echo 命令执行成功,计算机将在 !shutdowntime! 分钟后被关闭。
- ) else echo 无效的输入,有效值是大于0的整数
- )
- if "!submenu!"=="2" (
- echo 正在取消定时关闭计算机
- shutdown -a && echo 已成功取消定时关闭计算机。
- )
- if "!submenu!"=="3" (
- echo 您想在几点关闭无线热点?(0~23)
- set /p shutdowntime= 请输入:
- if !shutdowntime! leq 9 set "shutdowntime=0!shutdowntime: =!" &rem 补齐两位并去掉空格,否则schtasks命令会报错
- set "shutdowntime=!shutdowntime!:00"
- echo;
- schtasks /create /sc daily /tn 定时关闭无线热点 /tr "cmd /q /c netsh wlan stop hostednetwork &schtasks /delete /tn 定时关闭无线热点 /f" /st !shutdowntime! /ru system /rl highest /f
- if "!errorlevel!"=="0" echo 命令执行成功,无线热点将在 !shutdowntime! 关闭。
- )
- if "!submenu!"=="4" (
- echo 正在取消定时关闭无线热点
- schtasks /delete /tn 定时关闭无线热点 /f
- )
- if "!submenu!"=="5" (
- echo 正创建开机时启动无线热点的任务
- schtasks /create /tn 开机时启动无线热点 /tr "cmd /q /c %RESTARTAP%" /sc onlogon /ru system /rl highest /f
- )
- if "!submenu!"=="6" (
- echo 正在取消开机时启动无线热点
- schtasks /delete /tn 开机时启动无线热点 /f
- )
- )
- if "!mainmenu!"=="3" (
- echo 正在开启无线热点,这可能需要大约10秒的时间,请稍等……
- rem 经测试,开机后第一次启动热点时,连接可能出现问题,故等待一段时间后重启,以解决此问题
- %RESTARTAP%
- )
- if "%mainmenu%"=="4" (
- echo 正关闭无线热点,这可能需要大约5秒的时间,请稍等……
- netsh wlan stop hostednetwork &rem 关闭无线热点
- netsh wlan set hostednetwork mode=disallow &rem 禁用无线热点模式
- )
- if "%mainmenu%"=="5" (
- echo 提示:直接回车将设置为默认值 &echo;
- set "oldssid="
- set "newssid="
- for /f "skip=4 tokens=1* delims=:" %%i in ('netsh wlan show hostednetwork') do if "!oldssid!"=="" set "oldssid=%%j"
- echo 原SSID:!oldssid!
- set /p newssid=请输入新SSID:
- if "!newssid!"=="" set "newssid=softAP"
- netsh wlan set hostednetwork ssid=!newssid!
- )
- if "%mainmenu%"=="6" (
- echo 提示:密码至少为8位 &echo;
- set /p password=请输入新密码:
- netsh wlan set hostednetwork key=!password! 1>nul
- if "!errorlevel!"=="0" (echo 已成功更改密码) else echo 输入的密码有误
- )
- if "%mainmenu%"=="7" (
- rem 将热点信息保存到数组变量中
- set "n=0"
- for /f "skip=3 tokens=1* delims=:" %%i in ('netsh wlan show hostednetwork') do (
- set /a n+=1
- if !n! gtr 12 ( rem 12行之后为客户端信息
- set "apinfo[!n!]=%%i:%%j" &rem 客户端物理地址采用:分隔,故需要保存i
- ) else set "apinfo[!n!]=%%j"
- )
- echo 无线热点信息:
- if /i "!apinfo[1]!"=="" (echo 无线热点模式:不可用) else echo 无线热点模式:!apinfo[1]!
- if /i "!apinfo[8]!"=="" (echo 无线热点状态:不可用) else echo 无线热点状态:!apinfo[8]!
- if "!apinfo[1]!"==" 已启用" set "ismode=true" &set "apssid=!apinfo[2]!"
- if "!apinfo[8]!"==" 已启动" set "isstart=true"
- if /i "!isstart!"=="true" (
- set "apmac=!apinfo[9]!" &set "apmac=!apmac::=-!" &rem 获取热点物理地址,并将:转换为-
- for /f "tokens=1* delims=:" %%i in ('ipconfig /all') do (
- if /i "%%j"==" !apmac!" set "isap=true" &rem 已进入ap信息
- if /i "!isap!"=="true" (
- set "s=%%i"
- if /i "!s:~0,7!"==" IPv4" (
- set "apip=%%j"
- set "isap=false" &rem 已离开ap信息
- )
- )
- )
- for /f "delims=(" %%i in ("!apip!") do set "apip=%%i" &rem 分离出ip地址
- echo 无线热点的SSID:!apssid!
- echo 无线热点的IP地址:!apip!
- echo 无线热点的物理地址:!apmac!
- echo - - - - - - &echo;
- echo 连接到无线热点上的客户端信息:
- set "sumclient=!apinfo[12]!"
- if !sumclient! gtr 0 (
- echo 客户端总数:!sumclient!
- echo 序号 类型 验证状态 物理地址 IP地址
- for /l %%i in (13,1,!n!) do (
- for /f "tokens=1,2 delims= " %%j in ("!apinfo[%%i]!") do (
- set "clientmac=%%j" &set "clientmac=!clientmac::=-!"
- set "clientstate=%%k"
- )
- for /f "tokens=1,3 delims= " %%i in ('arp -a -n !apip! ^| find /i "!clientmac!"') do (
- set "clientip=%%i"
- set "ipclass=%%j"
- )
- set /a s+=1
- echo !s! !ipclass! !clientstate! !clientmac! !clientip!
- )
- ) else echo 当前没有客户端连接到无线热点上
- ) else echo 未启动无线热点,SSID、IP及物理地址不可用 &echo 未启动无线热点,客户端信息不可用
- echo - - - - - -
- )
- if "%mainmenu%"=="8" (
- set "apmode=不支持"
- echo 驱动程序信息:
- for /f "delims=" %%i in ('netsh wlan show drivers') do (
- echo %%i
- if /i "%%i"==" 支持的承载网络 : 是" set "apmode=支持"
- )
- echo; &echo - - - - - -
- echo 检测结果: !apmode!
- echo 您当前的驱动程序!apmode!无线热点模式
- )
- if "%mainmenu%"=="9" (
- echo 提示:若相关信息过长,将在每显示一页后暂停,按空格键可继续查看下一页的信息。&echo;
- echo 查看承载网络的属性和状态(netsh wlan show hostednetwork) …………1&echo;
- echo 查看系统上的无线局域网接口的列表(netsh wlan show interfaces)……2&echo;
- echo 查看系统上的无线驱动程序属性(netsh wlan show drivers) ……………3&echo;
- echo 查看计算机上可见的无线网络列表(netsh wlan show networks)…………4&echo;
- echo 查看无线局域网的全局设置(netsh wlan show settings)…………………5&echo;
- echo 查看完整的无线设备和网络信息(netsh wlan show all) …………………6&echo;
- echo 查看Windows上的完整IP配置(ipconfig /all)………………………………7&echo;
- echo 退出回到主菜单………………0&echo;
- set /p submenu= 请选择:
- cls
- if "!submenu!"=="1" netsh wlan show hostednetwork | more
- if "!submenu!"=="2" netsh wlan show interfaces | more
- if "!submenu!"=="3" netsh wlan show drivers | more
- if "!submenu!"=="4" netsh wlan show networks | more
- if "!submenu!"=="5" netsh wlan show settings | more
- if "!submenu!"=="6" netsh wlan show all | more
- if "!submenu!"=="7" ipconfig /all | more
- )
- if /i "%mainmenu%"=="h" (
- start http://hi.baidu.com/_deepbluetears/archive/tag/热点助手
- echo 如果页面没有正常打开,请访问:
- echo http://hi.baidu.com/_deepbluetears/archive/tag/热点助手
- )
- if not "%mainmenu%"=="0" (
- if not "!submenu!"=="0" ( rem 子菜单选项不为0,则进行暂停
- echo; &echo ------ 按空格键返回主菜单 ------
- pause >nul
- )
- set "submenu="
- goto Begin
- )
- :End
- color 07
欢迎光临 批处理之家 (http://www.bathome.net/) | Powered by Discuz! 7.2 |