隐藏以句号(句号)开头的文件/文件夹


35

Windows不对隐藏文件使用点文件约定。但是,许多Windows应用程序(大多数是开放源代码/跨平台)使用具有此约定的文件和文件夹。如何使Windows资源管理器自动隐藏这些点文件?

Answers:


28

ATTRIB +H /s /d C:\.* 是用于隐藏任何内容的命令,包括以点开头的目录

这不会列出文件(如下所述),但是会命中它可以访问的每个文件,并应用“隐藏”属性。

完成此操作后,您可以确保将“文件夹选项”设置为隐藏隐藏文件。单击开始,键入folder options并按Enter。点击查看标签,然后在文件和文件夹 \ 隐藏的文件和文件夹下选择不显示隐藏的文件,文件夹或驱动器。点击Apply,然后点击OK(或者只是OK)。


1
唯一令人讨厌的事情...它什么也不会输出。无法验证它触摸了哪些文件。=(
Mechaflash

4
另一个令人讨厌的事情是,每次获取此类文件时,您都必须手动进行操作。
JustinasDūdėnas2014年

1
我的Users文件夹真是太感谢了
Mikey

1
当心:在CreateFile具有CREATE_ALWAYS但没有明确指定FILE_ATTRIBUTE_HIDDEN标志的Windows文件调用中,对隐藏文件的操作将失败。有些工具知道这一点,但有些工具(抱歉,不记得我到底遇到了什么问题)无声地发生,唯一值得注意的问题是配置或日志没有以某种方式更新。在此处检查例如更多信息:stackoverflow.com/a/13215998/116546
drdaeman

7

简单:

在Windows资源管理器中

  1. 右键单击.folder要隐藏的;
  2. 单击properties,然后单击general选项卡;
  3. 点击hidden

做完了

PS仅在Windows 7 Professional上选中。PPS我注意到您的问题要求自动执行此操作。显然,这并不能解决问题,但也许读者会发现它很有用。


3

在C#中,可以使用System.IO.FileSystemWatcher。代码将是这样的。只需编译并将其放置在“启动”文件夹中即可。但是此代码不会隐藏现有文件。因此,首先运行Luke的代码,然后运行此代码。您需要System.IO和System.Security.Permissions

    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    public static void Run()
    {
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = "C:\\";
        watcher.IncludeSubdirectories = true;
        watcher.Filter = "*.*";
        watcher.Renamed += new RenamedEventHandler(OnRenamed);
        watcher.Created += new FileSystemEventHandler(watcher_Created);
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        watcher.EnableRaisingEvents = true;
        Console.WriteLine("Started...");
        while (true) ;
    }
    static void Check(string filename)
    {
        string name = Path.GetFileName(filename);
        if (name.StartsWith(".") && !File.GetAttributes(filename).HasFlag(FileAttributes.Hidden))
        {
            File.SetAttributes(filename, File.GetAttributes(filename) | FileAttributes.Hidden);
        }
    }
    static void watcher_Created(object sender, FileSystemEventArgs e)
    {
        Check(e.FullPath);
    }
    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        Check(e.FullPath);
    }
}

2

Windows将使用hiddensystem标志隐藏文件。或使用ACL隐藏文件。Windows不会根据文件名隐藏文件。

要明确让Windows按文件名隐藏文件,您需要明确创建功能。在这种情况下,文件系统驱动程序(病毒通常具有此“功能”)或外壳扩展程序hack都可以使用。

附带一提,您可以通过关闭“文件夹选项”下的“查看文件扩展名”来伪造该功能,因为对于资源管理器,以点开头的文件是具有扩展名但没有名称的文件。


2
Windows没有选择隐藏所有文件的扩展名。这是唯一的选择有关:Folder Options> View> [ ] Hide extensions for known file types
iglvzx 2011年

就像我说的,不是真正的功能。
surfasb 2011年

隐藏已知文件类型的扩展名似乎并没有真正隐藏这些文件。我仍然看到它们在资源管理器中列出,只是一个空白名称。它似乎也根本不影响文件夹(例如,“。txt”仍完整显示)。Windows7。–
每周

1

我认为没有办法使它自动发生,但是您可以尝试使用ATTRIB命令隐藏这些文件:

ATTRIB + H

然后,确保已将资源管理器配置为不显示隐藏文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.