
答案1
您需要使用desktop.ini 檔案來自訂圖示。通常,這就是您使用上面的“更改圖標”按鈕時實際所做的全部操作。完整文件請參閱:如何使用desktop.ini自訂資料夾 範例desktop.ini 檔案如下:
[DeleteOnCopy]
Owner=MyUser
Personalized=13
PersonalizedName=My Folder
[.ShellClassInfo]
[email protected],-12689
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-237
順便說一句,如果您想在不手動建立desktop.ini的情況下執行此操作,您可以在本機建立資料夾,套用所需的設置,然後竊取其desktop.ini。 (如果您沒有看到它,請複製整個資料夾;它最初應該有一個正確的名稱。)youtube 影片將圖示套用到網路磁碟機上的資料夾顯示此過程,但使用資料夾移動而不是建立新資料夾。
答案2
好久沒看到這麼多牛了:)
右鍵單擊 --> 屬性 --> 自訂 ---> 變更圖示在 SMB 共用上不可用。
... ---> 更改圖片沒有效果。
Desktop.ini 不會由 Windows 處理 SMB 共享,因為 Linux 解釋(資料夾的)「唯讀」有點不同,並且錯誤地將其報告回 Windows:
- 在Linux中,Read only的意思是唯讀!
- 在 Windows 中,唯讀(僅包含資料夾)意味著進程 Desktop.ini!
應該有一個註冊表設置,通過使用“系統”(超級隱藏)標誌而不是“只讀”來強制 Desktop.ini 處理,但我從未讓它按預期工作。
SMB 上缺乏desktop.ini 處理會破壞許多其他東西,而不僅僅是資料夾圖示:符號連結和個人化名稱空間也不起作用。微軟的流浪漢只是拒絕處理這個問題,一直回到Windows NT。
當然,始終可以建立間接連結來存取 SMB 資料夾,並提供這些自訂圖標,但這會導致多個其他問題:
- 當您打開父資料夾時,預設情況下,Windows 中會評估並快取快捷方式鏈接,如果資料夾包含慢速或睡眠網路共享的快捷方式,則會導致資源管理器中出現「大量」延遲。
- Windows 中的快捷方式是絕對的,而不是相對的,因此不可移植。如果目標根路徑發生變化,這會產生大量維護工作。 Windows 還具有自動將環境變數轉換為絕對連結的習慣,從而挫敗了任何解決此問題的嘗試。
- 他們頭腦簡單的「分散式連結追蹤客戶端」服務讓事情變得更糟。
在Windows中實現相對連結的最佳方法是使用VBS腳本。在本機(文字)形式中,VBS 腳本不會有自訂圖標,但您可以在編譯 EXE 檔案時為其指定自訂圖標。
但這是一項繁重的工作,每次從網路啟動腳本時,腳本都會建立「不受信任」的警告訊息,除非腳本是本地的或您找到了對其進行簽名的方法。
VBS Relative Link example:
============================
' This is a VB Script, which emulates a RELATIVE file link/shortcut in Win XP
'
' 1) The first line declares an untyped variable ==> objshell
'
' 2) The second line instantiates a new object derived from ==> Shell.Application
'
' 3) The third line invokes the object's method ==> ShellExecute
'
' with the following parametters: "target path"
' "target's arguments"
' "starting directory"
' "action verb"
' Initial window mode: 0 = Hidden Window
' 1 = Normal Window
' 2 = Minimized
' 3 = Maximized
' 4 = Most recent size and position, keep active window active
' 5 = Current size and position
' 6 =
' 7 = Minimized, keep active window active
' 10 = Default state specified by target application
'
' 4) The last line frees/destroys the shell object
'
'
dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute _
"..\..\..\SomePath_Three_Dirs_UP_etc" ,_
"" ,_
"" ,_
"open" ,_
1
set objShell = nothing
===============================================================
答案3
ssnobody 概述的自訂方法假設您有能力更改遠端電腦上的資料夾,和您希望更改該資料夾的所有遠端和本機使用者的外觀。如果其中任何一個不正確,您可能需要使用此替代方案:建立遠端資料夾的本機捷徑(例如,右鍵單擊將其拖曳到本機桌面並選擇“建立捷徑”),然後使用正常的“更改”屬性對話框的“圖示”按鈕可變更快捷方式的圖示。
答案4
解決方法是將圖像檔案重新命名為“folder.jpg”並放置在共用資料夾中。
任何有權訪問並使用資源管理器中任何“圖標”或“平鋪”視圖的人都將看到它。