如何在 Windows 资源管理器中强制所有文件夹类型的自定义默认排序依据选项

如何在 Windows 资源管理器中强制所有文件夹类型的自定义默认排序依据选项

对渴望修改的人的简短说明:这不是重复的:)

我的问题分为三个部分,但是为了方便起见,我当然会将仅解决第三部分的答案标记为已回答:

  1. 我希望了解 Windows 资源管理器的工作原理,以了解为什么会发生这种情况。我知道文件夹可以分为不同类型(常规、音乐库、照片库等),并且 Windows 会根据文件夹中的内容自动确定哪个是哪个。系统中还有不同(类型)的驱动器,外部驱动器、音乐播放器驱动器、手机驱动器等等。所有这些以及文件夹设置都导致了问题,但我无法弄清楚为什么“按项目排序”列表会被重置。

    • 例如:我在资源管理器中转到 D:\Downloads\,然后转到“排序依据”,再转到“更多”,一直向下滚动到“修改日期”,单击“确定”,然后再次转到“排序依据”并选择“修改日期”。太棒了。现在,我进入浏览器并保存文件,浏览器询问保存位置,我浏览到 D:\Downloads\ 猜猜怎么了?那里没有修改日期。好的,我也在那里再次设置了它。我打开另一个带有另一个 Windows Shell 浏览菜单的程序,那里也没有修改日期。我设置了所有这些,重新启动和/或安装了一个非常有用的 Windows 更新,它又被重置了。
    • ^ 为什么它实际上不是按文件夹排序,而是按 shell 排序,为什么排序依据列表会被重置?在哪里此设置是否保存?
  2. 我通常会问 SU 上关于这个话题最相关的问题(比如, 和):

    • 如何更改我的排序依据选项,然后将其应用于所有文件夹。 - 不好问和回答的问题,因为它将要被重置,或者实际上不会应用于所有类型的文件夹和所有未来的驱动器和连接的设备。
    • 如何强制将系统上的所有文件夹设为“常规项目”文件夹,以便我可以更改所有常规项目文件夹的“排序依据”选项。 - 这也是个糟糕的问题,因为 a. 我想要不同类型的文件夹,而不仅仅是常规项目文件夹,并且 b. 这肯定是宇宙中所有事物的必然结果,将要最终会被 MS 重置,无论是故意的,还是设计愚蠢的。
  3. 如果你已经做到了这一点,并且有了这些知识,你认为你有一个优雅的永恒的回答请帮助我们,也许只是回答这个 10 岁的问题。但是,我要问一个不同的问题:

    • 是否有任何开发人员可以访问的方式,或者现有的 shell 扩展黑客,或后台进程,或者其他什么,我不在乎它有多具侵入性,我们可以利用它来实现不断覆盖Windows 资源管理器排序依据列表,实际排序依据标准为- 我们的 - 非常感谢。
    • 澄清:我的目标很简单:对于任何和所有 Windows 资源管理器窗口,只要有一个选项可以右键单击并转到“排序依据”菜单,就可以在其中找到“修改日期”(以及我选择的其他自定义选项,大小、拍摄日期等)。然后,如果我选择按修改日期排序,我希望永远记住该更改,直到我再次更改它。如果我在一个文件夹中选择“修改日期”,那么对于其他地方的所有其他类型的文件夹,我也将全局更改为“修改日期”,我会接受这样的解决方案。这似乎比每个文件夹的设置更具可持续性。

在过去的几年里,Windows As A Service 的发布带来了巨大的改革和投资,充其量也值得怀疑(例如,让 Windows 驱动程序成为无人想要的侵入性应用商店的人质),然而,诸如此类的问题或最大文件路径长度之类的日常问题,几十年来一直未得到解决或回答。这让你怀疑在 MS 工作的人是否有人非肤浅地使用他们自己的产品。不,但我确信他们关心,我猜他们只是仍然没有足够的遥测数据来知道这个完全直面的基本 QA 问题是一个问题……

答案1

我一直在努力全面解释文件夹视图这里。首先看一下这个。

你的第一个问题让我怀疑你是否已经“最大化”了保存的视图。这个返回的值是什么电源外壳代码?

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

你的终极目标是什么,具体的目标???我已经找到了几种自定义视图默认值的方法。

应用于文件夹是自定义视图默认值的最简单方法。要检查哪些 FolderType 具有自定义默认值,请运行此电源外壳

(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

有一些搜索类似的设置,但如果使用的路径差异太大,则意味着它将找不到类似命名文件夹的设置。

系统默认值(以及已打开的各个文件夹的已保存设置)是唯一的设置,除非您已执行“全部应用”,例如没有全局或类型默认值。

另外,如果你在文件夹中按住控制键并单击“关闭”,它也会更新

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer

Shellstate=

这主要是设置无关紧要的东西,除了它保存全局排序,所有其他设置都会覆盖它。但文件打开对话框只使用此设置,因此它基本上只影响文件打开对话框中的排序。但似乎有时早期的 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;

相关内容