Просмотр файлов на камере с помощью PowerShell - PullRequest
10 голосов
/ 02 марта 2012

Если я подключу цифровую камеру через USB, Windows Explorer отобразит ее в списке «Компьютер» как устройство.Я могу просматривать его с помощью Проводника, просматривать папки, свойства файлов и т. Д., А также копировать / удалять файлы.

Это все без установки камеры в качестве устройства хранения (в этом случае я считаю, что камера будет отображаться какэто легко сделать с помощью флэш-накопителя с назначенной буквой).

Можно ли получить доступ к файлам и папкам на камере с помощью Windows PowerShell и просматривать их?Насколько я могу судить, никакая буква диска (автоматически) не назначается устройству.

Я не ищу обходных путей - я могу скопировать файлы с помощью проводника, не проблема.Я спрашиваю, потому что я хочу поиграть с PowerShell: -)

Спасибо

ОБНОВЛЕНИЕ:

Мне удалось получить Win32PnPEntity объект камерыиспользуя следующее:

Get-WmiObject Win32_USBControllerDevice | ForEach-Object { $_; [Wmi]$_.Dependent }

, за которым следует Get-WmiObject win32_pnpentity -filter "name='Canon PowerShot A480'", используя имя, которое я получил из предыдущей команды (PNPDeviceID, вероятно, будет лучшим выбором, но имя легче набрать: P)

Однако я не знаю, смогу ли я сделать что-нибудь полезное с этим Win32PnPEntity объектом.

Ответы [ 3 ]

4 голосов
/ 02 марта 2012

Вы можете объединить информацию из двух следующих статей: http://blogs.msdn.com/b/powershell/archive/2009/01/10/get-usb-using-wmi-association-classes-in-powershell.aspx

Это позволит вам получить идентификатор устройства, связанный с вашим конкретным устройством USB (например, из свойства Name).

Затем используйте WMI для доступа к файлам: Как создать сценарий PowerShell для копирования файла на флэш-накопитель USB?

3 голосов
/ 18 сентября 2015

Я только что создал сценарий PowerShell, который может сканировать мое подключенное USB-устройство Android, полученный на следующем веб-сайте:

http://blogs.technet.com/b/heyscriptingguy/archive/2013/04/26/use-powershell-to-work-with-windows-explorer.aspx

Я использую следующие API:

  1. Создание COM-объекта Shell.Application:

$ o = New-Object -com Shell.Application

  1. Получить определенное пространство имен, то есть список корневых папок:

$ folder = $ o.NameSpace (0x11)

0x11 относится к константе перечисления ShellSpecialFolderConstants.ssfDRIVES; см https://msdn.microsoft.com/en-us/library/windows/desktop/bb774096(v=vs.85).aspx

  1. Рекурсивно пройти по этой папке $:

$ folder.GetFolder () и $ folder.Items

Смотрите мой полный рабочий смысл: https://gist.github.com/cveld/8fa339306f8504095815

0 голосов
/ 02 марта 2012

Я бы начал с запуска get-PSDrive и посмотрел, появилась ли камера.

Если это произойдет, вы сможете использовать его как обычный диск и использовать командлет copy-item для перемещения элементов:

Ссылка: http://technet.microsoft.com/en-us/library/dd347638.aspx

С уважением Arcass

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...