Цвет пустых файлов в Windows

Цвет пустых файлов в Windows

Я сталкиваюсь с необходимостью отображать пустые (размером 0 байт) файлы в цвете в проводнике Windows. (Я получаю их по sftp и мне нужно знать, пустые ли они, чтобы предотвратить потерю данных — приложение создает пустые файлы, а затем заполняет их; я постоянно передаю пустые файлы и удаляю их с сервера после этого,когда они больше не пустые). Поиск в Интернете, похоже, бесполезен.

Вы можете раскрашивать сжатые и зашифрованные файлы на томе NTFS, поэтому было бы неплохо, если бы существовала возможность раскрашивать и 0-байтовые файлы.

Скриншот Проводника с цветными сжатыми и зашифрованными файлами

Принимаются решения для Windows File Explorer, других проводников, Powershell.

решение1

К сожалению, похоже, что не существует расширений оболочки для Проводника, позволяющих управлять цветами файлов и папок.

Если вы открыты для использования альтернативных оболочек, то есть несколько вариантов:

  • 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: Enter

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

Решение своими руками — написать собственную DLL и внедрить ее в оболочку. После подключения она будет менять цвет файла каждый раз при обновлении оболочки. Либо это, либо драйвер режима ядра.

Если бы кто-то зашёл так далеко, он мог бы также добавить в свою DLL немного магии чтения реестра, которая позволяла бы переключаться между режимами, Folder Options > View > Advanced Settingsкак в настоящем расширении оболочки.

Связанный контент