﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-孤独的夜-随笔分类-Window Admin</title><link>http://www.cnitblog.com/wangk/category/1953.html</link><description>&lt;table align=center&gt;
&lt;span id="dict_daily"&gt;
&lt;a href="http://dict.cn/" target="_blank"&gt;英语学习&lt;/a&gt;
&lt;/span&gt; 
&lt;script language="JavaScript" src="http://dict.cn/daily.php" defer="defer"&gt;
&lt;/script&gt;
&lt;/table&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 19:28:32 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 19:28:32 GMT</pubDate><ttl>60</ttl><item><title>用命令行控制Windows的设备</title><link>http://www.cnitblog.com/wangk/archive/2006/02/20/6737.html</link><dc:creator>孤独的夜</dc:creator><author>孤独的夜</author><pubDate>Mon, 20 Feb 2006 02:41:00 GMT</pubDate><guid>http://www.cnitblog.com/wangk/archive/2006/02/20/6737.html</guid><wfw:comment>http://www.cnitblog.com/wangk/comments/6737.html</wfw:comment><comments>http://www.cnitblog.com/wangk/archive/2006/02/20/6737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wangk/comments/commentRss/6737.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wangk/services/trackbacks/6737.html</trackback:ping><description><![CDATA[<P>用命令行控制Windows的设备</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先呢，你要从微软网站上下载一个叫Devcon的工具：<A href="http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe">http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe</A>&nbsp;把它解出来（哪来的鸡蛋，我闪！）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你对它的实现感兴趣的话，你可以在DDK中找到它的源码：DDK root\Src\Setup\Devcon。如果只是用用它方便的话不妨接着看它的使用。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们看看它都有些什么参数：</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">devcon.exe&nbsp;[</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">r]&nbsp;[</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">m:\\</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">machine</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">command</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;[</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">arg</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnitblog.com/images/dot.gif">]<BR></SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">r&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;specified&nbsp;will&nbsp;reboot&nbsp;machine&nbsp;after&nbsp;command&nbsp;is&nbsp;complete,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;needed.<BR></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">machine</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;目标机器名字.<BR></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">command</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;命令(见下面).<BR></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">arg</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnitblog.com/images/dot.gif">传给命令的参数.<BR>For&nbsp;help&nbsp;on&nbsp;a&nbsp;specific&nbsp;command,&nbsp;type:&nbsp;devcon.exe&nbsp;help&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">command</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>classfilter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许修改class&nbsp;filters.<BR>classes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示设备安装classes.<BR>disable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用指定的硬件名称或者instance&nbsp;ID禁用设备<BR>driverfiles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出设备安装的驱动文件.<BR>drivernodes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示设备的所有节点的驱动.<BR>enable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用指定的硬件名称或者instance&nbsp;ID启用设备.<BR>find&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用指定的硬件名称或者instance&nbsp;ID查找设备.<BR>findall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查找所有硬件设备包括不显示的.<BR>help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示帮助信息.<BR>hwids&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示设备硬件ID.<BR>install&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手动安装设备.<BR>listclass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示所有设备的安装&nbsp;class.<BR>reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;重启本地机器.<BR>remove&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用指定的硬件名称或者instance&nbsp;ID删除设备.<BR>rescan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从新扫描硬件信息.<BR>resources&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示设备使用的硬件资源.<BR>restart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用指定的硬件名称或者instance&nbsp;ID重启设备.<BR>stack&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出设备的驱动堆栈.<BR>status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出设备的状态.<BR>update&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手动更新设备驱动.<BR>UpdateNI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不显示用户界面的更新设备状态<BR>SetHwID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;添加、删除、编辑硬件ID的顺序.</SPAN></DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在看看例子：<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
<P>devcon -m:\\test find pci\*</P>
<P>如果你开启了test机器上的IPC$的话，就可以列出test上所有知道的PCI设备</P>
<P>devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP</P>
<P>安装一个新的Microsoft loopback adaptor实例，如果要重启的话，该命令会自动重启</P>
<P>devcon classes</P>
<P>显示所有知道的安装类。包括未认识的设备如： "USB" 和描述名字如："Universal Serial Bus controllers". </P>
<P>devcon classfilter upper !filter1 !filter2</P>
<P>删除两个指定的classfilter .</P>
<P>devcon classfilter lower !badfilter +goodfilter</P>
<P>&nbsp;用"goodfilter"替换"badfilter".</P>
<P>devcon driverfiles =ports</P>
<P>列出被ports安装类使用的设备驱动文件</P>
<P>devcon disable *MSLOOP</P>
<P>禁用所有硬件ID结尾有"MSLOOP"的设备</P>
<P>devcon drivernodes @ROOT\PCI_HAL\PNP0A03</P>
<P>列出所有 ROOT\PCI_HAL\PNP0A03的兼容驱动. </P>
<P>devcon enable '*MSLOOP</P>
<P>启用所有硬件ID有"*MSLOOP". 用'修饰的*不再是通配符，而是普通字符</P>
<P>devcon find *</P>
<P>列出所有设备实例. </P>
<P>devcon find pci\*</P>
<P>列出所有本地的PCI设备</P>
<P>devcon find =ports *pnp*</P>
<P>列出 ports 中包含"PNP"的硬件设备. </P>
<P>devcon find =ports @root\*</P>
<P>列出所有在顶层的 ports . </P>
<P>devcon listclass usb 1394</P>
<P>显示安装类是 USB 和 1394的设备. </P>
<P>devcon remove @usb\*</P>
<P>删除所有USB设备 </P>
<P>devcon rescan</P>
<P>重新扫描即插即用设备. </P>
<P>devcon resources =ports</P>
<P>列出ports 使用的资源. </P>
<P>devcon restart =net @'ROOT\*MSLOOP\0000</P>
<P>重启 loopback adaptor ROOT\*MSLOOP\0000. </P>
<P>devcon hwids=mouse</P>
<P>显示所有鼠标设备.</P>
<P>devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep </P>
<P>关联设备 beep和the legacy beep device.</P>
<P>devcon status @pci\*</P>
<P>列出所有PCI设备的状态. </P>
<P>Lists the status of all COM ports. </P>
<P>devcon update mydev.inf *pnp0501</P>
<P>强制更新硬件ID有pnp0501 的设备使用Mydev.inf 驱动. <BR>执行该命令后可能返回结果1 级错误，除非你指定了 -r, 让机器自动重启. <BR>错误等级：<BR>0：表示成功<BR>1：表示需要重启<BR>2：表示失败<BR>3：语法错误</P></DIV><img src ="http://www.cnitblog.com/wangk/aggbug/6737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wangk/" target="_blank">孤独的夜</a> 2006-02-20 10:41 <a href="http://www.cnitblog.com/wangk/archive/2006/02/20/6737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>