Я на самом деле пишу скрипт узла, который обнаруживает, что какой-то USB-порт подключен, а затем копирует его на рабочий стол. Это для ОС Windows. Для этого я вручную проверяю, существует ли путь «E:», «F: \» и т. Д.Как получить имя USB-устройства, которое уже установлено?
Но я должен быть уверен, что устройства - это те, которые мне нужны. Они получили конкретные имена, например:
MTR12345 или MTR23RR5 или MTRTGX23.
И мне нужно знать имена тезисов. Я искал различные решения nodejs и powershell, но ни один из них не соответствовал моим потребностям.
Мне нужно получить имя устройства, установленного на E: \. Я совершенно не знаком с PowerShell и NodeJS.
Как это сделать? Спасибо за вашу помощь.
'Get-WmiObject Win32_logicaldisk' получит то, что я думаю. Вам нужно будет отфильтровать имя тома из его звуков. 'Get-WmiObject Win32_logicaldisk | Где-Объект {«MTR12345», «MTR23RR5», «MTRTGX23» - содержит $ _. VolumeName} | Выберите «Expand DeviceID»? Есть ли что-то, что вы пытались или что-то вы застряли? – Matt
Я пробовал много фреймворков usb, которые не соответствуют моим потребностям и командам powershell. Спасибо за ответ, ваши команды говорят мне, где подключен MTR, даже если мне нужна противоположность (я знаю точку монтирования, но мне нужно имя устройства). Для использования вашей команды мне нужно знать точное имя моего MTR , но он меняется каждый раз). Я пробовал вашу команду с помощью RegExp, но, похоже, она не работает. Я попробовал: 'Get-WmiObject Win32_logicaldisk | Where-Object {"MTR [A-Za-z0-9] +" -поддерживает $ _. VolumeName} | Выберите «Expand DeviceID» – Addict
Но является ли volumename тем, что вы на самом деле ищете? Если вам нужно использовать регулярное выражение, то ваша статья будет таковой. 'Where-Object {$ _. VolumeName -match" MTR [A-Za-z0-9] + "}'. Вы никогда явно не говорили, что вам нужно частичное или регулярное выражение. – Matt