You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10中如何生成含文件标签的文件列表及识别未标记图片?

嘿,这个问题我刚好折腾过,Windows 10里确实能搞定文件标签相关的需求,DOS命令局限性太大,用PowerShell会灵活很多,给你分两部分说清楚:

一、生成包含文件标签的文件列表

Windows的文件标签(就是属性面板里的「标签」字段)属于文件的扩展属性,传统DOS的dir命令确实没法直接读取,但PowerShell可以轻松实现。

操作步骤很简单:

  1. 按下Win+X,选择「Windows PowerShell」(或者「终端」里的PowerShell标签)
  2. cd命令切换到你要处理的文件夹,比如cd D:\我的图片库
  3. 执行下面的命令,它会把所有文件的名称、完整路径和标签导出成CSV文件:
Get-ChildItem -Recurse -File | Select-Object Name, FullName, @{Name="Tags"; Expression={$_.ExtendedProperties.System.Keywords}} | Export-Csv -Path "文件标签列表.csv" -Encoding UTF8

要是只想在控制台直接查看结果,去掉后面的导出部分就行:

Get-ChildItem -Recurse -File | Select-Object Name, FullName, @{Name="Tags"; Expression={$_.ExtendedProperties.System.Keywords}}

简单解释下命令里的关键部分:

  • Get-ChildItem -Recurse -File:递归遍历当前文件夹下的所有文件(包括子文件夹里的)
  • @{Name="Tags"; Expression={$_.ExtendedProperties.System.Keywords}}:专门提取文件的标签属性,映射成「Tags」列
  • Export-Csv:把结果导出成CSV,方便用Excel打开编辑和筛选

二、找出未添加标签的图片

针对图片文件筛选无标签的,同样用PowerShell就能实现,而且可以指定图片格式:

执行下面的命令,就能列出所有无标签的JPG、PNG、BMP图片:

Get-ChildItem -Recurse -File -Include *.jpg,*.jpeg,*.png,*.bmp | Where-Object { $_.ExtendedProperties.System.Keywords -eq $null -or $_.ExtendedProperties.System.Keywords -eq "" } | Select-Object Name, FullName

需要导出成列表的话,加上导出命令就行:

Get-ChildItem -Recurse -File -Include *.jpg,*.jpeg,*.png,*.bmp | Where-Object { $_.ExtendedProperties.System.Keywords -eq $null -or $_.ExtendedProperties.System.Keywords -eq "" } | Select-Object Name, FullName | Export-Csv -Path "无标签图片列表.csv" -Encoding UTF8

这里的Where-Object是核心,它会过滤出标签为空或者从未设置过标签的文件。另外要注意,有些非常旧的图片格式可能不支持扩展属性,这类文件也会被归为无标签,属于正常情况。

内容的提问来源于stack exchange,提问作者dev1998

火山引擎 最新活动