如何使用 VBA(或 PowerShell)从 Windows 10 中的 jpeg 文件中提取“压缩”属性?

问题描述 投票:0回答:1

我正在尝试从数千个 jpeg 文件中提取压缩属性。

如何使用 Excel VBA 或 PowerShell(或其他方法)执行此操作?

一些用户没有使用正确的技术将 tiff 或 png 文件转换为 jpeg。他们只是直接在资源管理器中编辑文件扩展名,而不是使用 Photoshop 等应用程序来正确更改文件格式。这会给下游流程带来麻烦。

检查了几个文件后,有问题的文件在该字段中具有“未压缩”...我想隔离这些文件,以便可以更正它们。

请注意,这个答案没有提供我需要的解决方案。压缩属性不在该方法输出的 308 个属性列表中。

vba powershell file attributes jpeg
1个回答
0
投票

您可以通过API获取它

GetFileAttributes

Option Explicit
#If VBA7 Then
    Private Declare PtrSafe Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
#Else
    Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
#End If
Private Const FILE_ATTRIBUTE_COMPRESSED As Long = &H800
Sub GetCompressionStatus()
    Dim filePath As String
    Dim fileAttributes As Long
    filePath = "d:\temp\my.jpg"
    fileAttributes = GetFileAttributes(filePath)
    If (fileAttributes And FILE_ATTRIBUTE_COMPRESSED) = FILE_ATTRIBUTE_COMPRESSED Then
        MsgBox "COMPRESSED"
    Else
        MsgBox "NO COMPRESSED"
    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.