如何通过PowerShell或其他工具获取M4A文件精确到秒的「媒体创建时间」属性?
如何通过PowerShell或其他工具获取M4A文件精确到秒的「媒体创建时间」属性?
别担心,这个问题其实挺常见的——Windows资源管理器默认确实只会显示到分钟,而你之前用的VersionInfo也不是获取媒体专属元数据的正确方式。我来给你两种靠谱的解决办法:
一、用PowerShell获取精确到秒的媒体创建时间
你之前的命令失效,是因为VersionInfo对应的是文件的版本信息元数据,不是媒体文件特有的录制/创建时间属性。要拿到媒体专属属性,我们得借助Windows Shell对象来读取:
通用版代码(适配中英文系统)
这段代码会自动匹配「媒体创建时间」对应的属性索引,不用手动找编号:
# 替换成你的M4A文件路径 $targetFile = "C:\Users\natsu\Desktop\FolderName\RecordingFile.m4a" # 初始化Shell对象 $shell = New-Object -ComObject Shell.Application # 获取文件所在的文件夹对象 $folder = $shell.Namespace((Split-Path $targetFile)) # 获取目标文件对象 $fileItem = $folder.ParseName((Split-Path $targetFile -Leaf)) # 遍历属性索引,找到「媒体创建时间」对应的位置 $mediaCreatedPropIndex = 0 for ($i = 0; $i -le 287; $i++) { if ($folder.GetDetailsOf($folder.Items(), $i) -eq "媒体创建时间") { $mediaCreatedPropIndex = $i break } } # 获取精确到秒的媒体创建时间 $mediaCreatedTime = $folder.GetDetailsOf($fileItem, $mediaCreatedPropIndex) Write-Host "该M4A文件的媒体创建时间(精确到秒):$mediaCreatedTime"
运行后你就能看到类似2024/5/20 14:35:42这种带秒数的完整时间了。
二、用可视化工具直接查看(更适合非专业用户)
如果觉得代码操作麻烦,这些工具能更直观地帮你获取精确时间:
- MediaInfo:完全免费的开源媒体元数据查看器,专门针对音频/视频文件。打开M4A文件后,在「General」标签页里找到「Recorded date」,就能看到精确到秒的时间,还能一键导出所有元数据。
- MP3Tag:别看名字带MP3,它完美支持M4A格式。导入文件后,主界面的标签面板里的「录制时间」就是你要的媒体创建时间,能直接看到秒数,还支持批量修改或导出属性。
- Total Commander:增强型文件管理器,你可以在「自定义列」里添加「媒体创建时间」属性,设置显示格式为带秒数的样式,之后在文件列表里就能直接看到所有M4A文件的精确创建时间了。
补充说明
你之前尝试的sttmedia和Explorer++确实不支持显示这个属性的秒数,所以上面这些工具会更实用。
备注:内容来源于stack exchange,提问作者natsumi
相关产品推荐
相关产品推荐

