使用bat文件扫描新硬件?

问题描述:

我有一个批处理安装程序,覆盖我的USB设备驱动程序。 如何强制我的窗口使用批处理文件扫描硬件更改?使用bat文件扫描新硬件?

START /WAIT RunDll32.exe Syssetup.dll,UpdatePnpDeviceDrivers 
+0

源代码,你肯定,对于'UpdatePnpDeviceDrivers'函数签名匹配[由Rundll32的要求(http://support.microsoft.com/kb/ 164787)?如果没有,[你会很快破坏堆栈](http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx)。之后不要让Windows清理干净。 – 2012-02-19 09:47:41

+0

@CodyGray,我不确定...我只是发布这个,因为它是我在网上找到的,当我需要通过批处理文件来做到这一点。请发布一个更正的版本。 – Brad 2012-02-19 16:09:08

+0

似乎无法在Windows 7 x64(企业版) – Mgamerz 2014-07-15 21:34:49

1,我发现最好的办法是:

powershell -windowstyle hidden -command "& {\"rescan\" | diskpart}" 

对于细节,你可以参考this link:“使用重新扫描命令来重新扫描所有I/O总线,并导致任何新的磁盘的已被添加到电脑中被发现。“

对于Windows 2008/7及更高版本,powershell和diskpart随OS提供。

或者只要运行它,而不PowerShell的:

echo rescan | diskpart 

2另一种方法是使用MS命令行工具,Devcon,你必须下载第一

你可以用它做很多事情,包括启用/禁用/重新扫描所有类型的设备(不仅仅是磁盘),更新设备驱动程序......甚至在远程机器上。

你也可以看到它在this link

+0

我尝试使用'echo rescan | diskpart'让Windows 7识别SATA SDD。通过识别我的意思是我希望驱动器出现在设备管理器 - >磁盘驱动器中。但是,'echo重新扫描| diskpart'没有这样做。 – user3731622 2015-09-14 17:11:02

+0

磁盘驱动程序是否连接到Windows 7? 我的答案是重新扫描蝙蝠内的驱动器 如果您使用的是GUI,则可以手动重新扫描: 1.右键单击设备管理器中的计算机,例如, WIN-QQ2AVVMEOQ5 2.选择“扫描硬件更改” – superlee 2015-09-15 11:59:00

+0

'echo rescan |如果我在启动过程中插入磁盘,卸载磁盘,断开SATA电缆,通过SATA电缆重新连接磁盘,然后使用'echo rescan | diskpart'。如果我在没有连接磁盘的情况下启动计算机,请通过SATA电缆连接磁盘,然后调用echo echo | diskpart',则磁盘无法识别。我认为这可能与SATA端口在启动时未被激活/启用有关,因为当时没有连接。有什么想法吗? – user3731622 2015-09-15 16:45:33