我正在寻找一种方法来使用 Windows 10 和 11 上的命令行File description
从文件的元数据中读取字段。
可以使用以下方法获取许多其他字段的值西米克如下文所述这个问题。
但似乎没有办法File description
使用该方法获取显示的值。例如,对于 windows explorer.exe
,Win11 中显示的属性可能如下所示
但所有wmic
显示的都是文件的完整路径:
C:\>wmic datafile where Name="C:\\windows\\explorer.exe" get Description
Description
C:\windows\explorer.exe
有没有办法让 explorer.exe 对话框中显示的每个字段并使用命令行获取与那里显示的相同的值?
答案1
您可以使用 Powershell 的 Get-Item 来获取属性:
(Get-Item C:\Windows\Explorer.exe).VersionInfo.FileDescription
结果:
Windows Explorer
答案2
答案3
您可以使用 PowerShell 访问该文件的元数据属性。
您可以将以下脚本存储在.ps1
文件中并在 PowerShell 会话中执行,以获取文件描述:
$path = 'C:\windows\explorer.exe'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$shellfolder.GetDetailsOf($shellfile, 34)
运行此脚本将执行以下操作:
PS C:\Temp> .\test.ps1
Windows Explorer
如果您希望列出所有可能的属性及其 ID,请将上述脚本的最后一行替换为:
0..287 | Foreach-Object { '{0} = {1}' -f $_, $shellfolder.GetDetailsOf($null, $_) }
并运行它,例如,使用 PowerShell 命令:
.\test.ps1 | Out-File C:\Temp\f.txt
这将产生类似以下内容的输出:
0 = Name
1 = Size
2 = Item type
3 = Date modified
4 = Date created
5 = Date accessed
6 = Attributes
7 = Offline status
etc.
参考 : 在 PowerShell 中枚举文件属性。
答案4
在 Powershell 中使用以下 cmdlet:
(Get-Item C:\Windows\Explorer.exe).VersionInfo | select FileDescription
FileDescription
---------------
Windows Explorer