如何在 Windows 資源管理器中為所有資料夾類型強制自訂預設排序方式選項

如何在 Windows 資源管理器中為所有資料夾類型強制自訂預設排序方式選項

給渴望的模組的快速說明:這不是重複的:)

我的問題有 3 個部分,但為了簡單起見,我當然會將僅解決第三部分的任何答案標記為已回答:

  1. 我希望了解 Windows 資源管理器是如何運作的以及為什麼會發生這種情況。我知道資料夾可以有不同的類型(常規、音樂庫、照片庫等),並且 Windows 會根據資料夾中的內容自動決定哪個是哪個。系統中還有不同(類型)的驅動器、外部驅動器、音樂播放器驅動器、電話驅動器等。除了按資料夾設定的資料夾之外,所有這些都會導致問題,但我無法拼湊出「排序依據」項目清單是如何重置的。

    • 例如:我轉到資源管理器中的D:\Downloads\,轉到“排序依據”,轉到“更多”,一直向下滾動到“修改日期”,然後單擊“確定”,然後再次轉到“排序依據”並選擇“修改日期”。涼爽的。現在,我進入瀏覽器並保存文件,瀏覽器詢問保存位置,我瀏覽到 D:\Downloads\ 猜猜是什麼?沒有修改日期。好的,我也在那裡重新設定了它。我用另一個 Windows shell 瀏覽選單開啟另一個程序,修改日期也不在那裡。我設定了所有這些,重新啟動和/或安裝一個完全有用的 Windows 更新,它再次重置。
    • ^ 為什麼實際上不是每個資料夾而是每個 shell,以及為什麼排序依據列表會被重置?在哪裡該設定已儲存?
  2. 我通常會在 SU 上問與這個主題最相關的問題(例如, 和):

    • 如何更改我的排序方式選項,然後將它們套用到所有資料夾。 - 提出和回答不好的問題,因為它將要被重置,或不會真正應用於所有類型的資料夾以及所有未來的磁碟機和連接的裝置。
    • 如何強制系統上的所有資料夾成為「常規專案」資料夾,以便我可以更改所有常規專案資料夾的排序依據選項。 - 這也是一個糟糕的問題,因為我想要不同類型的資料夾,而不僅僅是一般專案資料夾,b。它和宇宙中的任何事物一樣確定,將要最終會被MS重置,無論是故意的還是設計愚蠢的。
  3. 如果你已經做到了這一步並且有了這些知識,你認為你已經擁有了一個優雅的永恆的回答請幫助我們,也許只是回答這個10歲的問題。但是,我要問一個不同的問題:

    • 是否有任何類型的開發人員可以訪問的方式,或者現有的 shell 擴展黑客,或者後台進程,或者其他東西,我不在乎有多大的侵入性,我們可以利用它們來不斷地覆蓋Windows 資源管理器排序依據列表,其實際排序依據標準為- 我們的 -選擇?非常感謝。
    • 說明:我的目標很簡單:對於任何和所有Windows 資源管理器窗口,其中有一個選項可以右鍵單擊並轉到“排序方式”選單,以便能夠在其中找到修改日期(以及我選擇的其他自訂選項、大小、拍攝日期) ETC)。然後,如果我選擇按修改日期排序,我希望永遠記住該更改,直到我再次更改它。我可以接受一種解決方案,如果我在一個資料夾中選擇“修改日期”,則其他地方的所有其他類型的資料夾也可以全域更改為“修改日期”。似乎比每個資料夾設定更可持續。

在過去的幾年裡,Windows 即服務版本帶來了巨大的改革和投資,充其量也值得懷疑(例如,讓Windows 驅動程式成為沒人想要的侵入性應用程式商店的人質),但像這個問題或最大文件路徑長度這樣的日常問題,幾十年來一直沒有解決或解答。讓你懷疑在 MS 工作的人是否非膚淺地使用自己的產品。不,但我確信他們關心,我想他們天哪仍然沒有足夠的遙測數據來知道這個完全面對面的基本品質保證問題是一個問題...

答案1

我一直在研究資料夾視圖的全面解釋這裡。首先看看這個。

你的第一個問題讓我想知道你是否已經「最大化」保存的視圖。這個回傳什麼值電源外殼代碼?

((gp "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU").Nodeslots).count

而你的終極是什麼,具體的目標?我找到了幾種自訂視圖預設值的方法。

應用到資料夾是自訂視圖預設值最簡單的方法。若要檢查哪些資料夾類型具有自訂預設設置,請執行此命令電源外殼:

(Get-Item 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults').Property |
   %{(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\$_").CanonicalName}

如果您已完成 OneDrve 下的所有基本類型和對應類型,則輸出將如下所示:

PS C:\> (Get-Item 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults').Property |
>>    %{(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\$_").CanonicalName}
Downloads
Generic
Documents
Music
Pictures
Videos
StorageProviderGeneric
StorageProviderDocuments
StorageProviderPictures
StorageProviderVideos
StorageProviderMusic
PS C:\>

應用到資料夾,將影響先前儲存的資源管理器視圖,但不會影響先前儲存的公共對話框視圖,因此為了確保您的首選項也套用於對話框,請執行以下程式碼:

$Defaults = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults'
$Bags     = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
$Custom = ( gi $Defaults ).Property
( gci $Bags -Recurse -depth 1 | ? PSChildName -match 'ComDlg' ) |
    gci | ? PSChildName -in $Custom |
        Remove-Item -Recurse

如果您還想自訂 SearchResults 和 LIbraires 的預設值,我們必須建立通常不存在的登錄項,但首先看看上述內容如何為您解決。

答案2

它會記住您上次所做的事情。

了解已儲存的視圖和瀏覽資料夾

在Windows 2000 Professional 中,您使用的檢視並非總是永久保存在Windows 資源管理器中。您可以透過使用「資料夾選項」對話方塊的「檢視」標籤上的「記住每個資料夾的視圖設定」複選框來控制是永久還是暫時儲存您使用的檢視(請參閱圖 9.3)。

預設情況下,啟用記住每個資料夾的視圖設定選項。

當您選擇啟用此設定時,會發生以下情況:

a.. 當您關閉資料夾時,您對資料夾檢視所做的變更會自動儲存。

b.. 用來檢視一個資料夾的視圖不會套用到其他資料夾。

c.. 當您開啟資料夾時,它將在您上次查看它時使用的視圖中開啟。

當您清除記住每個資料夾的視圖設定複選框時,會發生以下情況:

a.. 當您啟動 Windows 資源管理器時,您查看的第一個資料夾將顯示在該資料夾的已儲存視圖中。 Windows 資源管理器將該視圖保留在臨時記憶體中,並將其套用至您在 Windows 資源管理器保持開啟狀態時存取的所有資料夾,除非您手動變更該視圖。

b.. 當您瀏覽到其他資料夾時(開啟初始資料夾後),每個資料夾的已儲存檢視將被忽略,並且當您退出Windows 資源管理器時,您用於查看多個資料夾的資料夾視圖將從臨時資料夾中刪除記憶。

c.. 下次開啟 Windows 資源管理器時,您開啟的第一個資料夾的已儲存檢視將決定您查看多個資料夾的方式。

將所有資料夾設定為同一視圖

某些使用者希望將所有 Windows 資源管理器資料夾設定為相同視圖。在Windows 2000 Professional 中,預設設定是當您關閉資料夾時,對資料夾視圖所做的任何變更都會自動儲存,並且不會套用到其他資料夾。但是,您可以使用「資料夾選項」命令將所有資料夾設定為相同視圖,如下列過程中所述。

將所有資料夾設定為同一視圖

1.. 在「我的電腦」或「Windows 資源管理器」中,依照您的喜好設定視圖。

2.. 在「工具」功能表上,按一下「資料夾選項」。

3.. 在「資料夾選項」對話方塊中,按一下「檢視」標籤。

4.. 在「資料夾檢視」下,按一下「與目前資料夾類似」。

重要 「資料夾選項」對話方塊的「檢視」標籤上的「記住每個資料夾的視圖設定」複選框(請參閱圖 9.3)會影響單一資料夾的視圖設定的套用和儲存方式。有關清除此複選框的影響的詳細信息,請參閱本章前面的“了解保存的視圖和瀏覽資料夾”。

Windows 2000 資源工具包

一些參考資料適用於舊版的 Windows,並且已被移動。

您必須在資料夾中執行“應用到全部”。對於每種類型的物件(資料夾、控制面板、我的電腦等),您在其 clsid 中​​執行“應用到全部”,並在以下位置建立/更新設定:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults

{F3364BA0-65B9-11CE-A9BA-00AA004AE837}是普通資料夾,其他數字是任何數字(我的電腦、控制面板等 - 請注意我的文件是普通資料夾)。只有當您對該類型物件中的所有物件執行「套用」操作時,它們才會出現。

以及更高的預設值集

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Settings=

所以重點在於你做事的順序。您希望最後進行整體預設設定。這就是我如何建議有人問的

有人可以告訴我如何強制 Windows 保留我選擇的單獨資料夾視圖設定嗎?我已經檢查並重新檢查了資料夾選項中的框以使其記住,但它沒有該問題的記憶。更具體;我希望在“我的圖片”和“控制台”對話框中始終具有縮圖視圖,但每次打開它們時,我都必須手動設定該視圖。

按照您想要的方式設定“控制面板”,然後“工具”-“檢視”-“套用到所有資料夾”。這將設定全域預設值和物件預設值的控制面板類型(但係統預設值保持不變 - 它無法更改,但所有其他預設值/設定都會覆蓋它)。然後轉到一個普通資料夾(因為「我的照片」就是針對此功能的)並按照您想要的除 CP 之外的所有資料夾的方式進行設定。然後工具-查看-應用到所有資料夾。這將設定全域預設值和物件預設值的資料夾類型(CP 的預設設定仍將覆蓋全域)。然後按照您想要的方式設定“我的圖片”,並且不執行任何其他操作,因為我們透過複選框保存它記住資料夾設置沿著我們到達那裡的路徑。例如

Desktop\My Comp\C:\Documents & Settings\user name\My Docs\My Pics

是一個不同的設置

Desktop\My Comp\My Docs\My Pics

有一些搜尋類似的設置,但使用的路徑如果太不同,則表示它將找不到類似命名資料夾的設定。

系統預設值(以及已開啟的各個資料夾的儲存設定)是唯一的設置,除非您已完成“應用到全部”,例如沒有全域或類型預設值。

另外,如果您在資料夾中按住 Control 並點擊“關閉”,它也會更新

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer

外殼狀態=

這主要是設定不相關的東西,除了它保存全域排序,所有其他排序都會覆蓋它。但「檔案開啟」對話方塊僅使用此設置,因此它基本上只會影響「檔案開啟」對話方塊中的排序。但似乎有時早期的 Windows 版本設定會寫在這裡,而其他設定則不會儲存

typedef struct {
BOOL fShowAllObjects:1;
BOOL fShowExtensions:1;
BOOL fNoConfirmRecycle:1;
BOOL fShowSysFiles:1;
BOOL fShowCompColor:1;
BOOL fDoubleClickInWebView:1;
BOOL fDesktopHTML:1;
BOOL fWin95Classic:1;
BOOL fDontPrettyPath:1;
BOOL fShowAttribCol:1;
BOOL fMapNetDrvBtn:1;
BOOL fShowInfoTip:1;
BOOL fHideIcons:1;
BOOL fWebView:1;
BOOL fFilter:1;
BOOL fShowSuperHidden:1;
BOOL fNoNetCrawling:1;
DWORD dwWin95Unused;
UINT uWin95Unused;
LONG lParamSort;
int iSortDirection;
UINT version;
UINT uNotUsed;
BOOL fSepProcess:1;
BOOL fStartPanelOn:1;
BOOL fShowStartPage:1;
UINT fSpareFlags:13;
} SHELLSTATE, *LPSHSHELLSTATE;

相關內容