如果我通过USB连接数码相机,Windows资源管理器会将其作为设备列在计算机下。我可以使用资源管理器浏览它,查看文件夹,文件属性等,以及复制/删除文件。
这一切都没有将相机设置为存储设备(在这种情况下,我相信相机会显示为闪存驱动器,带有指定的驱动器号,这样就很容易了。)
我有办法使用Windows PowerShell访问和浏览相机上的文件和文件夹吗?据我所知,没有(自动)分配给设备的驱动器号。
我不是在寻找变通方法 - 我可以使用资源管理器复制文件,而不是问题。我问,因为我想玩PowerShell: - )
由于
我设法使用以下内容获取了相机的Win32PnPEntity
对象:
Get-WmiObject Win32_USBControllerDevice | ForEach-Object { $_; [Wmi]$_.Dependent }
关注Get-WmiObject win32_pnpentity -filter "name='Canon PowerShot A480'"
使用我从上一个命令获得的名称(PNPDeviceID
可能是更好的选择,但名称更容易输入:P)
但是,我不知道我是否可以对Win32PnPEntity
个对象做任何有用的事情。
答案 0 :(得分:4)
您可以合并以下两篇文章中的信息: http://blogs.msdn.com/b/powershell/archive/2009/01/10/get-usb-using-wmi-association-classes-in-powershell.aspx
这将允许您检索与特定USB设备关联的设备ID(例如,从Name属性中)。
然后使用WMI访问文件: How can I create a PowerShell script to copy a file to a USB flash drive?
答案 1 :(得分:3)
我刚刚创建了一个PowerShell脚本,可以抓取我的usb附加Android设备,源自以下网站:
我使用以下API:
$ o = New-Object -com Shell.Application
$ folder = $ o.NameSpace(0x11)
0x11指的是枚举常量ShellSpecialFolderConstants.ssfDRIVES;见https://msdn.microsoft.com/en-us/library/windows/desktop/bb774096(v=vs.85).aspx
$ folder.GetFolder()和$ folder.Items
请参阅我的完整工作要点: https://gist.github.com/cveld/8fa339306f8504095815
答案 2 :(得分:-1)
我首先运行get-PSDrive并查看相机是否显示。
如果是,您应该能够将其视为普通驱动器,并使用copy-item cmdlet移动项目:
参考: http://technet.microsoft.com/en-us/library/dd347638.aspx
问候 Arcass