如何获取已安装的 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
我实际上是在编写一个节点脚本来检测是否插入了特定的 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