Please enable Javascript to view the contents

自定義 Windows 資料夾圖示

 ·  ☕ 2 min read

前言

我在安裝軟體時,通常會集中安裝在 D 槽,同時會把資料夾設定成該軟體的相關圖式
純粹就是自己的習慣,也比較好看?,不曉得有沒有人會跟我做同樣的事


program folders with icons

而我自己也算是蠻常會重新安裝/還原系統的,每次重新來都會安裝差不多的軟體
就想說是不是能夠先定義好我要修改的軟體以及圖示路徑,再交由程式一鍵完成呢
實際找資料與測試之後,應該是可行的

Windows 怎麼自定義資料夾

正常情況下,對著資料夾點選右鍵選單 -> 內容 -> 自訂 -> 資料夾圖示/變更圖示 -> 選擇圖示檔案 (ico 或是有圖示的 exe) -> 確定
沒意外的話資料夾就會有圖示了,此時進去資料夾內
如果有開啟檢視隱藏檔與系統檔功能的話可以發現一個 desktop.ini 檔案

這個 desktop.ini 就是關鍵了 (How to Customize Folders with Desktop.ini)
我們可以得知,desktop.ini 必須有 .ShellClassInfo 的 Section 以及 iconresource 的 Key-Value

大概會長這樣,後面的 ,0 表示第 0 個圖示

1
2
[.ShellClassInfo]
iconresource = D:\Program Files\Example_Program_1\favicon.ico,0

僅建立好 desktop.ini 仍不夠,還必須賦予相關屬性,可以藉由 attrib 命令來賦予

  • 資料夾必須是 Read-only
  • desktop.ini 必須是 Archive, System, Hidden

自動化程式

我以 Python 來撰寫程式,需要先定義好相關的設定,再執行程式

執行檔:GitHub
程式碼:GitHub

先將自己想要更換圖示的軟體名稱以及圖示路徑先行定義好
例如,settings.ini 設定成這樣

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[Example_Program_1]
iconresource = \favicon.ico

[Example_Program_2]
iconresource = \bin\favicon.ico

[Example_Program_3]
iconresource = \icon.ico

[Example_Program_4]
iconresource = \Example_Program_4\bin\favicon.ico

[Example_Program_5]
iconresource = \hello.exe

目標資料夾結構如下

D:\Program Files
│
│
├─Example_Program_1
│      favicon.ico
│
├─Example_Program_2
│  │  file.txt
│  │
│  └─bin
│          favicon.ico
│
├─Example_Program_3
│      icon.ico
│
├─Example_Program_4
│  └─Example_Program_4
│      └─bin
│              favicon.ico
│
└─Example_Program_5
        favicon.ico
        hello.exe

執行程式後,資料夾選擇 D:\Program Files ,程式將會自動更改 Example_Program_1Example_Program_2Example_Program_3Example_Program_4Example_Program_5 的資料夾圖示

執行步驟:

  1. 修改 settings.ini

  2. 執行 windows-folder-icon-changer.exe

  3. 選擇資料夾 (例如 D:\Program Files)

  4. 選擇 settings.ini

  5. 等待程式執行完成


目前測試的話,大致上正常,但難保不會有意外發生
我生成的 exe 檔可以在 64 位元的 Windows 10 上執行,但可能會被判定為病毒就是了
其它 Windows 7, 8 沒測試過,不知道是不是能正常
但如果在 Linux 系統執行必定壞掉 XD

DEMO


DEMO

分享
您的鼓勵是我最大的動力

JIHONGO
作者
JIHONGO
A Person