如何获取已安装的 USB 设备的名称?

How to get name of a USB device that is already mounted?

我实际上是在编写一个节点脚本来检测是否插入了特定的 USB,然后将其内容复制到桌面。这主要用于 Windows。为此,我手动检查 'E:\' 路径是否存在,'F:\' 等...

但我需要确定设备是我需要的。他们有具体的名字,例如:

MTR12345 或 MTR23RR5 或 MTRTGX23。

我需要知道这些名字。我搜索了不同的 nodejs 和 powershell 解决方案,但没有一个符合我的需要。

我需要获取安装在 E:\ 的设备的名称。我也是 PowerShell 和 NodeJS 的新手。

我该怎么做?感谢您的帮助。

听起来您只是在寻找卷名。 WMI class Win32_logicaldisk 将 return 用于安装的设备。假设它当然被填充。最简单的形式:

Get-WmiObject Win32_logicaldisk | Where-Object{$_.VolumeName -eq "MyUSBKey"}

您有一些具体示例和一个正则表达式查询,您正试图使用​​它来缩小结果范围。所以如果你想匹配一个正则表达式查询:

Get-WmiObject Win32_logicaldisk | 
    Where-Object{Where-Object{$_.VolumeName -match "MTR[A-Za-z0-9]+"}} |          
    Select -Expand DeviceID

如果你愿意,你甚至可以简化它。只匹配以 "MTR" 开头的卷。不像另一个那么完美,但同样简单。

Get-WmiObject Win32_logicaldisk | 
    Where-Object{Where-Object{$_.VolumeName -match "^MTR"}} |          
    Select -Expand DeviceID