在 Windows 中为空文件着色

在 Windows 中为空文件着色

我需要在 Windows 资源管理器中以彩色显示空文件(0 字节大小)。 (我通过 sftp 获取它们,需要知道它们是否为空以防止数据丢失 - 应用程序创建空文件然后填充它们;我不断传输空文件然后从服务器中删除它们,当它们不再是空的时候)。网络搜索似乎毫无结果。

您可以为 NTFS 卷上的压缩和加密文件着色,因此如果有一种方法可以为 0 字节文件着色就好了。

带有彩色压缩和加密文件的 Explorer 屏幕截图

接受 Windows 文件资源管理器、其他资源管理器和 Powershell 的解决方案。

答案1

不幸的是,似乎没有任何现有的 Explorer shell 扩展来控制文件和文件夹的颜色。

如果您愿意使用备用 shell,那么有以下几种选择:

  • XYplorer支持着色文件(图 1),但目前仅支持名称。然而,它们接受功能请求,因此您可以要求他们实现基于尺寸的颜色过滤器。不幸的是,XYplorer 不是免费的。

  • Q-Dir也支持文件着色(图 2),但它也只支持按名称过滤(以及只读文件)。它也接受功能请求。另外,Q-Dir 是免费的。

  • 目录作品支持文件着色(图3)文件的任何属性,但它不是免费的。另外,目前还不清楚您是否可以为这些文件属性指定触发值。(看起来您只能为列着色。)当然,如果没有,那么您可以请求功能

  • 远程管理器是一个免费的控制台文件管理器(类似于命令提示符),这意味着它是基于文本的。如果可以接受,那么它正好满足您的需求。您可以通过F9→创建颜色过滤器选项Files highlighting and sort groups突出显示零字节文件(图4)。

  • 多指挥官也是免费的。他们也接受功能请求,但这不是必需的,因为它已经支持文件着色(从 3.5 开始) 根据几个因素(图 5)。事实上,Multi Commander 已经内置了针对空文件的颜色过滤规则!


图1:XYplorer 的颜色滤镜编辑器(仅接受文件名模式)

XYplorer 色彩滤镜编辑器的屏幕截图

图 2:Q-Dir 的文件着色(仅通过文件名和只读属性)

带文件着色的 Q-Dir 屏幕截图

图 3:Directory Opus 的文件着色功能有限

Directory Opus 文件着色的屏幕截图

图 4:Far Manager 带有彩色的零字节文件

Far Manager 的屏幕截图,其中零字节文件已着色

图 5:Multi Commander 带有彩色的零字节文件

Multi Commander 的屏幕截图,其中零字节文件已着色

答案2

  • 对于空文件夹:

    您可以在当前目录中运行此批处理文件,用不同的图标标记空的文件夹(desktop.ini必须与批处理文件位于同一目录中)

    :: empty_folders.bat
    @echo off
    dir /a /b %1 2>nul | findstr "^" >nul || echo %%~fA
    for /f "eol=: delims=" %%A in ('dir /s /ad /b %1') do (
      dir /a /b "%%~fA" 2>nul | findstr "^" >nul || call:copyini %%~fA
    )
    goto :eof
    
    :copyini 
      copy %~dp0desktop.ini %1%
      attrib +s +h +a  %1%\desktop.ini
    

     

    ; desktop.ini 
    [.ShellClassInfo]
    IconResource=C:\WINDOWS\system32\SHELL32.dll,234
    [ViewState]
    Mode=
    Vid=
    FolderType=Generic
    
  • 对于空文件:

    您可以使用类似FMS 空文件删除器简化删除空文件。

注意::这两者都必须定期手动运行以更新;它们不会自动检测空文件和文件夹。

答案3

我很确定没有办法在文件资源管理器中以不同的颜色呈现大小为 0 字节的文件,除非你实现自定义IShellView

但是您可以使用搜索来查找大小为 0 的文件:输入

size:=0

进入文件资源管理器中的搜索字段。视图将显示所有大小为零的文件: 在文件资源管理器中搜索大小为 0 字节的文件


如果你使用远程管理器,您可以突出显示此类文件:

  1. 按下F9显示菜单栏。
  2. 点击选项然后点击文件突出显示和排序组
  3. 当光标位于第一组时(上方上层排序组),Ins按 添加新的高亮规则:
    1. 选择面具复选框,并*输入面具编辑框。
    2. 选择尺寸复选框,0>=<=編輯框。
      Far Manager:文件突出显示规则大小=0
    3. 点击1. 正常文件名要更改显示颜色,请单击所需的前景背景
    4. 点击3. 选定文件名5. 光标下的文件名7. 光标处选定的文件名来调整这些颜色。
    5. 点击好的保存突出显示规则。
  4. 按下Esc或单击文件突出显示对话框将其关闭。

大小为零的文件将被高亮显示。
高亮规则按照它们在文件突出显示对话框中,要向上或向下移动规则,请用光标选择规则,然后相应地按Ctrl+Ctrl+

答案4

DIY 的答案是编写自定义 DLL 并将其注入 shell。一旦挂钩,每次刷新 shell 时它都会改变文件颜色。要么这样,要么使用内核模式驱动程序。

如果有人要走那么远,他们可能还会在他们的 DLL 中添加一些注册表读取魔法,以便Folder Options > View > Advanced Settings像真正的 shell 扩展一样进行切换。

相关内容