批处理:修改COM端口号
发现万能的WMI居然没有实现修改COM端口号的方法,不过用来遍历端口信息还是可以的,参考http://msdn.microsoft.com/en-us/library/aa394413(v=vs.85).aspx。 没有办法只能通过修改注册表的方式来实现,下面献上代码,自己看吧,里面有用到的2个utilities都是微软的工具:
COMPortNumberChanger.bat:
setlocal EnableDelayedExpansion @echo off set oldCOMPort=%~1 set newCOMPort=%~2
:ReadDeviceId for /f %%a in ('.\tools\devcon findall =port * ^| find /i "%oldCOMPort%"') do set DEVICEID=%%a if "%DEVICEID%" == "" ( echo Error: Cannot find device id for %oldCOMPort%, please check if device is installed correctly and try again. echo Press any key to detect again. pause goto ReadDeviceId ):ReadFriendlyName for /f "skip=4 tokens=1,2,*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\%DEVICEID%" /v FriendlyName') do set oldFriendlyName="%%c" if %oldFriendlyName%=="" ( echo Error: Cannot find friendly name for %oldCOMPort%, check regedit: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\%DEVICEID%. Check if device is installed correctly and try again. echo Press any key to detect again. pause goto ReadFriendlyName ):FindDeviceMap for /f "skip=4 tokens=1,2,3" %%a in ('reg query "HKLM\HARDWARE\DEVICEMAP\SERIALCOMM" /s') do ( if /i "%oldCOMPort%" == "%%c" ( set SerialCommKey="%%a" ) )if %SerialCommKey%=="" ( echo Error: cannot find Device map for %oldCOMPort%, check regedit: HKLM\HARDWARE\DEVICEMAP\SERIALCOMM. Check if device is installed correctly and try again. echo Press any key to detect again. pause goto FindDeviceMap )devcon disable @"%DEVICEID%"subinacl /keyreg "HKEY_LOCAL_MACHINE\System\CurrentControlSet\ENUM\%DEVICEID%" /grant=administrators=f subinacl /keyreg "HKEY_LOCAL_MACHINE\System\CurrentControlSet\ENUM\%DEVICEID%\Device Parameters" /grant=administrators=fREG ADD "HKLM\SYSTEM\CurrentControlSet\ENUM\%DEVICEID%\DEVICE Parameters" /v PORTNAME /t REG_SZ /d %newCOMPort% /Fset newFriendlyName=!oldFriendlyName:%oldCOMPort%=%newCOMPort%!REG ADD "HKLM\SYSTEM\CurrentControlSet\ENUM\%DEVICEID%" /v FriendlyName /t REG_SZ /d %newFriendlyName% /FREG ADD "HKLM\HARDWARE\DEVICEMAP\SERIALCOMM" /v %SerialCommKey% /t REG_SZ /d %newCOMPort% /FREG ADD "HKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter" /v "ComDB" /t REG_BINARY /d 0%newComPort:~3,1%00000000000000000000000000000000000000000000000000000000000000 /fdevcon enable @"%DEVICEID%"
调用方法:
COMPortNumberChanger.bat COM3 COM5
共修改了4处注册表项。 Devcon是微软提供的设备管理工具,下载地址:http://support.microsoft.com/kb/311272 ,subinacl是一款访问权限控制工具,下载地址:http://www.microsoft.com/downloads/en/details.aspx?familyid=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en
参考:
http://communities.intel.com/message/11471
Binhua Liu原创,转载请注明!
转载于:https://www.cnblogs.com/Binhua-Liu/archive/2011/06/22/2087559.html
批处理:修改COM端口号相关推荐
- SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例
原文:SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例 sql server 安装第一个实例,默认实例的端口是1433, 一个库中如果有多个实例, 从第二个实例开始的端口是动态端口,需 ...
- http端口_PhpStorm 修改默认端口号63342
PhpStorm 修改默认端口号63342blog.csdn.net 关键词 PhpStorm phpStorm phpstorm 修改默认端口号63342 8080 80 步骤 1.打开Setti ...
- spring boot 如何修改默认端口号和context path
创建了SpringBoot项目之后进行运行,当我们需要使用游览器进行访问的时候要输入端口号,那麽我们如何来修改这个端口号呢??? 1.在src/main/resources目录下新建文件applica ...
- windows通过注册表修改3389端口号
<span style="color:#FF0000;">windows通过注册表修改3389端口号,步骤如下:</span> 1.开始→运行,输入rege ...
- 如何修改mysql占用的端口号_修改mysql端口号(mysql的端口号)
修改mysql端口号(mysql的端口号) 2020-05-07 22:12:00 共10个回答 如何查看mysql默认端口号和修改端口号 登录mysql,使用命令showglobalvariable ...
- 注册表修改3389端口号
用注册表修改3389端口号 1.改端口: 简单操作步骤:打开"开始→运行",输入"regedit",打开注册表,进入以下路径: [HKEY_LOCAL_MACH ...
- redis 修改默认端口号6379 (mac)
找到redis的安装目录,正常应该都会在/usr/local/下 * cd /usr/local/redis-5.0.8 * vi redis.conf * 键入 i >> 修改默认端口号 ...
- esxi管理端口_ESXI 6.7修改网页端口号
一.终端开启SSH功能,方便修改出错维护 1.按F2进入登录界面,输入用户名和密码: 2.Troublesboot Options 按enter键进入下级页面: 3.在选择ssh选项是enter键切换 ...
- jenkins查看端口号 修改默认端口号
在linux下修改jenkins端口号: 修改/etc/sysconfig/jenkins文件 修改里面的JENKINS PORT, 改为你要的端口. 然后重启jenkins vim /etc/sys ...
- windows server2012 r2修改远程端口号
环境:VPS服务器 1.打开注册表,搜索"Regedit" 2.在注册表中依次开[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contr ...
最新文章
- [ 一起学React系列 -- 10 ] i18n
- Demon_接金币(三个掉落物品预设体,一接物体的工具)
- python 下载文件 限速-Python网络爬虫---scrapy通用爬虫及反爬技巧
- cors spring_Spring,REST,Ajax和CORS
- azure mysql sql,UiPath连接Azure Sql Server数据库
- C# Winform 使用二维码
- mysql 删除表时外键约束_MySQL删除表的时候忽略外键约束的简单实现
- OC基础15:内存管理和自动引用计数
- Moss 2007 入门(1) - 功能概述【转】
- idea开发工具的一些实用技巧
- 量子计算机编程教程,量子信息与量子计算简明教程 PDF扫描版[12MB]
- ARM CMSIS 4.5.0
- Paper | Detail-revealing Deep Video Super-resolution
- 概率论与数理统计 期末突击复习
- 实现antd中Form、Form.Item组件
- macbook黑屏的三种解决方法
- C# 获取笔记本电池信息 调用 Win32 Api
- SSH综合项目实战(快递) -- day07 定区关联快递员、搭建前台、客户注册
- LinkedList 类 的简单应用
- 消气机器人_星新一少年科幻·淘气的机器人最新章节_星新一著_掌阅小说网