在 Windows 中為空白文件著色

在 Windows 中為空白文件著色

我需要在 Windows 資源管理器中以彩色顯示空白(0 位元組大小)檔案。 (我透過 sftp 取得它們,需要知道它們是否為空以防止資料遺失 - 應用程式建立空檔案然後填充它們;我不斷傳輸空白檔案並隨後從伺服器中刪除它們,當它們不再空的時候)。網路搜尋似乎沒有結果。

您可以為 NTFS 磁碟區上的壓縮和加密檔案著色,因此如果有一種方法也可以為 0 位元組檔案著色,那就太好了。

帶有彩色壓縮和加密檔案的資源管理器的螢幕截圖

接受 Windows 檔案總管、其他資源管理器、Powershell 的解決方案。

答案1

不幸的是,資源管理器似乎沒有任何現有的 shell 擴充功能來控製檔案和資料夾的顏色。

如果您願意使用替代 shell,那麼有以下幾種選擇:

  • XY探索者支援為文件著色(圖 1),但目前僅按名稱著色。然而,他們接受功能請求,因此您可以要求他們實現基於尺寸的濾色器。不幸的是,XYplorer 不是免費的。

  • Q-目錄也支援文件著色(圖 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:目錄 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

DIY 的答案是寫一個自訂 DLL 並將其註入到 shell 中。一旦掛鉤,每次刷新 shell 時它都會改變檔案顏色。或者是內核模式驅動程式。

如果有人要走那麼遠,他們可能還會在他們的 DLL 中添加一些註冊表讀取魔法,以允許Folder Options > View > Advanced Settings像真正的 shell 擴展一樣進行切換。

相關內容