如何防止 Windows 资源管理器建议隐藏文件夹?

如何防止 Windows 资源管理器建议隐藏文件夹?

在 Windows 7 中,如果您查看隐藏文件夹,其名称会像其他文件夹一样保存在历史记录中。这意味着路径自动完成功能会将其显示在建议列表中,如下所示:

建议下拉菜单中显示的隐藏文件夹的屏幕截图

有什么方法可以阻止隐藏文件夹或手动选择的文件夹白名单显示在这些建议下拉菜单中吗?如果有,那是什么?

(是的,我知道仅仅隐藏文件夹并不能提供真正的安全性,但对于偶尔出现的 - 类型文件夹来说已经足够了C:\PlansForSurpriseParty\。)

编辑:
需要澄清的是,“显示隐藏文件、文件夹和驱动器”选项现在没有启用,也从未启用过。我最初是通过在路径栏中直接输入文件夹位置来进入文件夹的。我仍然遇到这种情况,但我不知道为什么其他人无法重现这种情况。

答案1

下拉菜单不会显示隐藏文件夹,而是显示您在地址栏中输入或使用地址栏本身的路径/箭头导航到的最近访问的位置;这就是为什么“不显示隐藏文件夹”选项不会影响它的原因。:)

您可以通过右键单击地址栏并单击“删除历史记录”来手动删除列表。

您还可以使用 RegEdit 访问HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths注册表项并从中删除条目。

也许可以导出该注册表项的空白副本并通过注销脚本(使用批处理文件中的 reg.exe 或类似方法)导入它,以确保它在注销时已被清除。

答案2

显然,Windows 没有提供阻止这种情况的选项。

相反,每当您想要删除这些历史记录条目时,您可以手动运行批处理脚本。这可能会有所帮助:

@echo OFF

SetLocal EnableExtensions EnableDelayedExpansion

set key=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths

for /f "delims=" %%A in ('reg query %key%') do (
    for /f "tokens=1,2,3 delims= " %%B in ("%%A") do (
        set name=%%B
        set type=%%C
        set data=%%D

        if exist !data! (
            set attribs=%%~aD
            echo !name! !type! !data! !attribs!
            set hidden=!attribs:~3,1!
            if !hidden!==- (
                echo !name! is not hidden.
            ) else (
                reg delete %key% /v !name! /f > nul
                echo !name! was removed.
            )
            echo.
        )
    )
)

pause

我认为没有提供该选项是因为在很多情况下决定做什么并不那么简单,例如:

  • 访问 URL 后可以设置/重置隐藏属性。
  • url 指向的资源可能是非本地的。
  • 访问过的文件可能会被删除。

答案3

您可以尝试这种方法

本质上,他们是说你将文件夹变成一个隐藏的系统文件夹,默认情况下,该文件夹是不可搜索的。

另外,我无法复制您所说的内容。请确保在使用完“隐藏”文件夹后,选择“不显示隐藏文件、文件夹或驱动器”。

在此处输入图片描述

相关内容