在 Windows 7 资源管理器中,有没有办法按名称(不带扩展名)对文件进行分组?

在 Windows 7 资源管理器中,有没有办法按名称(不带扩展名)对文件进行分组?

我有一堆编号动画,每个动画由 4 个文件组成(AVI、WAV、FLA 和 SWF)。

最好按它们的共同动画名称进行分组,以便对于每个动画,我可以一眼看出它是否具有所有 4 个必要的文件。

在 Windows 7 资源管理器中,有没有办法按名称(不带扩展名)对文件进行分组?

更新:

我在 Xplorer2 中使用已弃用的(自 Vista 起)IColumnProvider 接口找到了一种实现此目的的方法,该方法非常简单,但在 Windows Vista 和 Windows 7 中已被一些复杂的属性系统所取代。

下面是使用我的 IColumnProvider 实现的 Xplorer2 的屏幕截图,Explorer 在 Vista 中不再支持该实现。升级到此为止。Xplorer2 很丑陋、混乱,并且不像 Explorer 那样按数值对混有数字的名称进行排序。

答案1

是的,这很容易!

  • 右键点击 → 排序依据 → 名称
  • 分组依据 → 无!

我有克罗地亚语 Windows,所以我希望我翻译正确!

答案2

我想说 Windows 资源管理器在这里是错误的工具,我会使用 Windows 7 自带的 PowerShell。

假设你有一些文件:

bar.doc
bar.exe
foo.doc
foo.exe
foo.txt
shim.doc
shim.exe
shim.txt

对于每个组,您要确保始终有 3 个文件(或在您的情况下为 4 个)。

在该目录中运行以下命令:

Get-ChildItem | ForEach-Object {[System.IO.Path]::GetFileNameWithoutExtension($_.FullName)} | Group-Object -noelement | sort-object -property Count -descending

你会得到如下结果:

Count Name
----- ----
    3 foo
    3 shim
    2 bar

它告诉您“bar”组缺少一个文件。

具有别名的相同命令:

ls| foreach {[System.IO.Path]::GetFileNameWithoutExtension($_.FullName)} | Group -noelement | sort -property Count -descending

您首先列出所有文件,然后“截断”扩展名,然后对它们进行分组和排序。

您还可以获取所有缺少文件的组的列表:

ls | foreach {[System.IO.Path]::GetFileNameWithoutExtension($_.FullName)} | Group -noelement | where{$_.Count -lt 3}

给你:

Count Name
----- ----
    2 bar

相关内容