“超级”隐藏文件夹?

“超级”隐藏文件夹?

因此,我购买了一块 SSD 来升级 PC 的速度,并开始将多余的文件传输到我手上的 10TB 便携式 USB 驱动器上。为了在尝试将硬盘克隆到 SSD 以使其可启动之前减小硬盘的大小,我使用了 SpaceSniffer 程序来查看硬盘上是否还有其他位置可以提取数据以进一步减小大小,并在克隆之前使我的新 SSD 尽可能“干净”。

无论如何,SpaceSniffer 发现了以下文件夹:

旧硬盘

这实际上是我之前升级的更旧的 TB 硬盘的另一个“克隆”,我完全忘记了它。不过,事情是这样的,我已经选中了“显示隐藏文件和文件夹”,我可以看到隐藏的文件和文件夹。但是,由于某种原因,我无法看到这个文件夹: 隐藏文件

奇怪的是,我可以通过直接在导航栏中输入路径来直接导航到该文件夹​​并查看其文件: 旧硬盘内容

有人听说过这个吗?或者能解释一下这是怎么回事吗?还请注意,上面第一个屏幕截图中“只读”复选框中有一个方块,而隐藏的复选框被选中并禁用。

出于某种原因,这似乎是一个“超级”隐藏文件夹。自从使用 Windows 3.1 以来,我从未见过这样的事情。那么,有没有更高级的 Windows 专家可以解释一下这个文件夹的奇怪行为?

答案1

在资源管理器中,您可以设置“显示隐藏的文件、文件夹和驱动器”,但还有另一种设置“隐藏受保护的操作系统文件(推荐)”。后者通常是启用的。

当文件夹设置了系统和隐藏标志时,它将被配置为安全的操作系统文件,并且如果打开显示隐藏文件,它将保持隐藏状态。

通过attrib /d在文件夹中的命令提示符中键入内容,您可以查看是否是这种情况。

看看这个例子:

C:\>attrib /d
   SH                C:\$Recycle.Bin
     R               C:\Documents and Settings
A  SH   I            C:\hiberfil.sys
A  SH                C:\pagefile.sys
                     C:\PerfLogs
     R               C:\Program Files
     R               C:\Program Files (x86)
    H   I            C:\ProgramData
   SH   I            C:\Recovery
A  SH                C:\swapfile.sys
   SH                C:\System Volume Information
     R               C:\Users
                     C:\Windows

如您所见,系统文件 swapfile.sys 同时设置了 +S 和 +H,因此它保持隐藏状态,除非您在设置中取消选中“隐藏受保护的操作系统文件(推荐)”。

A 代表已存档,I 代表已索引。输入Attrib /?即可获得每个字母的完整列表。

为了使文件夹可见,您必须输入Attrib -s -h "Old HDD"

尽管您可以单独设置 s 和 h,但删除 s 属性也需要删除 h。

此外,explorer 可以设置文件的属性,但如果设置文件夹的属性,更改通常会被忽略。使用 attrib,它总是有效的。

答案2

为了补充上面发布的修复,我发现就我的情况来说,是什么原因造成的,以及将来如何预防。

经过研究,我发现 Robocopy 有一个错误,它会将目录的属性更改为系统和隐藏文件。这个错误已经存在一段时间了,关于这个主题的博客和问题也很多。为了撤销这个更改,我不得不更改属性,这样文件夹就不再被标记为系统或隐藏文件。这些属性在 cmd 中分别使用参数“s”和“h”进行更改

...

如果您很聪明,不想一开始就处理这个问题(因为这是 Robocopy 的一个已知错误),那么当您在 cmd 中写出 Robocopy 行时,请在命令末尾包含减号属性 (/A-:SH)。这将阻止目标文件夹被隐藏并变成系统文件,从而从一开始就防止问题发生:

例如

ROBOCOPY I:\DATA\ K:\DATA\ DB_DataFile.bak /A-:SH

还有关于 SU 的额外资源。

编辑:这似乎在 CMD 中可以正常工作,但在 Powershell 中却不行。

相关内容