我有一堆编号动画,每个动画由 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