5

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

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

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

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

4 ответа4

10

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

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

  • XYplorer поддерживает раскрашивание файлов (рисунок 1), но в настоящее время только по имени. Однако они принимают запросы объектов, поэтому вы можете попросить их внедрить цветной фильтр на основе размера. К сожалению, XYplorer не является бесплатным.

  • Q-Dir также поддерживает раскраску файлов (рисунок 2), но он также поддерживает фильтрацию только по имени (а также для файлов только для чтения). Это также принимает запросы функций. Плюс, Q-Dir бесплатный.

  • Каталог Opus поддерживает раскраску файлов (рисунок 3) в соответствии с любым свойством файла, но это не бесплатно. Кроме того, не ясно, можете ли вы указать значения триггера для этих свойств файла. (Похоже, вы можете только цветные столбцы.) Конечно, если они этого не делают, то вы можете запросить функцию.

  • Far Manager - это бесплатный консольный файловый менеджер (например, командная строка), что означает, что он основан на тексте. Если это приемлемо, то это именно то, что вы хотите. Вы можете создать цветовой фильтр с помощью F9ПараметрыFiles highlighting and sort groups чтобы выделить файлы нулевого байта (рисунок 4).

  • Multi Commander также бесплатен. Они также принимают запросы объектов, но это не обязательно, поскольку он уже поддерживает раскраску файлов (начиная с 3.5) в соответствии с несколькими факторами (рисунок 5). Фактически, Multi Commander уже поставляется с правилом цветового фильтра для встроенных пустых файлов!


Рисунок 1: редактор цветового фильтра XYplorer (принимает только шаблоны имен файлов)

Снимок экрана редактора цветовых фильтров XYplorer

Рисунок 2: раскраска файла Q-Dir (только по имени файла и атрибуту только для чтения)

Скриншот Q-Dir с файлом-раскраской

Рисунок 3: Directory Opus имеет ограниченную окраску файлов

Скриншот файла раскраски Каталог Опус

Рисунок 4: Far Manager с цветными файлами нулевого байта

Снимок экрана Far Manager с цветными файлами с нулевым байтом

Рисунок 5: Multi Commander с цветными файлами с нулевым байтом

Снимок экрана Multi Commander с цветными файлами размером 0 байт

1
  • Для пустых папок:

    Вы можете запустить этот пакетный файл в текущем каталоге, чтобы пометить пустые папки другим значком (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 Empty File Remover, чтобы упростить удаление пустых файлов.

NB: оба из них должны периодически запускаться вручную для обновления; они не обнаруживают автоматически пустые файлы и папки.

1

Я уверен, что в проводнике файлов нет способа визуализировать файлы с размером 0 байт другого цвета, если только вы не реализуете собственный IShellView .

Тем не менее, вы можете использовать поиск, чтобы найти файлы с размером 0: Enter

size:=0

в поле поиска в проводнике. В представлении будут отображаться все файлы с нулевым размером: Поиск файлов размером 0 байт в проводнике


Если вы используете Far Manager, вы можете выделить такие файлы:

  1. Нажмите F9, чтобы показать строку меню.
  2. Нажмите « Параметры», затем выберите « Подсветка файлов» и сортируйте группы.
  3. Когда курсор находится в первой группе (над верхней группой сортировки), нажмите Ins, чтобы добавить новое правило подсветки:
    1. Установите флажок Маска и поместите * в поле редактирования Маски.
    2. Установите флажок « Размер» и установите « 0 в обоих полях > = и <=.
      Far Manager: правило подсветки файлов для размера = 0
    3. Нажмите 1.Нормальное имя файла, чтобы изменить цвет отображения, щелкните по нужному переднему плану и фону.
    4. Нажмите 3.Выбранное имя файла, 5.Имя файла под курсором, 7.Имя файла выбрано под курсором, чтобы настроить эти цвета.
    5. Нажмите кнопку ОК, чтобы сохранить правило выделения.
  4. Нажмите Esc или щелкните за пределами диалогового окна выделения файлов, чтобы закрыть его.

Файлы с нулевым размером будут выделены.
Правила подсветки обрабатываются в том порядке, в котором они отображаются в диалоговом окне выделения файлов. Чтобы переместить правило вверх или вниз, выберите правило с помощью курсора и нажмите Ctrl+ или Ctrl+ соответственно.

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .