访问powershell MTP连接中的最后修改日期



我刚刚尝试自动将文件从手机(iPhone(传输到硬盘。它通过MTP和Powershell工作(根据其他Stackoverflow帖子,这似乎是唯一的工作方法(。

总的来说,它很好用。我使用$shell = new-object -com Shell.Application,然后使用$shell.GetFolder.items()通过COM对象在文件系统中导航。

然而,我想知道如何获得真实的文件详细信息,因为它们看起来很奇怪。。。例如,一个图像的输出为:

Parent       : System.__ComObject
Name         : DSUF9528.JPG
Path         : ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\?usb#vid_05ac&pid_12a8&mi_00#0#{6ac27878-a6fa-4155-ba85-f98f491d4f33}SID-{10002,Internal 
Storage,256000000000}{00000002-0000-0000-0200-000000000000}{0000160A-0000-0000-0A16-000000000000}{00001DD7-0000-0000-D71D-000000000000}
GetLink      : 
GetFolder    : 
IsLink       : False
IsFolder     : False
IsFileSystem : False
IsBrowsable  : False
ModifyDate   : 30.12.1899 00:00:00
Size         : 0
Type         : JPG-Datei

如您所见,大小为0,modifyDate为1899。这是为我iPhone上的所有5000个图像设置的,事实上是错误的。Windows资源管理器可以显示这些文件的有效值(它是如何做到的?(。我该怎么做才能通过Powershell找到真正的值,或者COM对象返回的值为什么被破坏了?

如果有任何帮助,我将不胜感激:(

使用ExtendedProperty可以通过MTP获得文件的正确修改日期。

foreach ($item in $shell.GetFolder.items()) {
Write-Host $item.ExtendedProperty("System.DateModified") $item.Name
}

示例输出:

1/9/2021 9:02:35 AM image.png
12/16/2020 9:13:53 PM Work Work Orc Warcraft Peon.mp4
1/22/2021 5:43:16 PM ea4435db93cc_thumb840.jpg

相关内容

  • 没有找到相关文章

最新更新