Reputation: 4693
If I connect my digital camera via USB, Windows Explorer lists it under Computer as a device. I can browse it using Explorer, see folders, file properties etc, and copy/delete files.
This is all without setting the camera to be a storage device (in which case I believe the camera will show up as a flash drive, with an assigned drive letter, making this easy).
Is there a way for me to access and browse the files and folders on the camera using Windows PowerShell? As far as I can tell, no drive letter is (automatically) assigned to the device.
I'm not looking for workarounds - I can copy the files with explorer, not problem. I'm asking because I want to play around with PowerShell :-)
Thanks
I've managed to get a Win32PnPEntity
object of the camera using the following:
Get-WmiObject Win32_USBControllerDevice | ForEach-Object { $_; [Wmi]$_.Dependent }
Followed by Get-WmiObject win32_pnpentity -filter "name='Canon PowerShot A480'"
using the name I got from the previous command (PNPDeviceID
would probably be a better choice but the name was easier to type :P )
However, I don't know if I can do anything useful with that Win32PnPEntity
object.
Upvotes: 14
Views: 11276
Reputation: 43549
You can combine information from the two following articles: https://devblogs.microsoft.com/powershell/get-usb-using-wmi-association-classes-in-powershell/
This will allow you to retrieve the device ID associated with your specific USB device (from the Name property, for example).
Then use WMI for accessing the files: How can I create a PowerShell script to copy a file to a USB flash drive?
Upvotes: 5
Reputation: 1503
I have just created a PowerShell script that is able to crawl my usb attached Android device, derived from the following website:
I am using the following APIs:
$o = New-Object -com Shell.Application
$folder = $o.NameSpace(0x11)
0x11 refers to the enum constant ShellSpecialFolderConstants.ssfDRIVES; see https://msdn.microsoft.com/en-us/library/windows/desktop/bb774096(v=vs.85).aspx
$folder.GetFolder() and $folder.Items
See my complete working gist: https://gist.github.com/cveld/8fa339306f8504095815
Upvotes: 5
Reputation: 932
I'd start by running get-PSDrive and see if the camera shows up.
If it does, you should be able to treat it as a normal drive and use the copy-item cmdlet to move the items:
Reference: http://technet.microsoft.com/en-us/library/dd347638.aspx
regards Arcass
Upvotes: -1