Скрытие файлов / папок, которые начинаются с полной остановки (точка)


35

Windows не использует соглашение о точечных файлах для скрытых файлов. Однако многие приложения Windows (в основном с открытым исходным кодом / кросс-платформенные) используют файлы и папки с этим соглашением. Как я могу заставить Windows Explorer автоматически скрывать эти точечные файлы?

Ответы:


28

ATTRIB +H /s /d C:\.* команда, которая скрывает что-либо, включая каталоги, начинающиеся с точки

Это не будет перечислять файлы (как указано ниже), но будет попадать в каждый файл, к которому он имеет доступ, и применять атрибут Hidden.

Как только это будет сделано, вы можете убедиться, что в настройках Папки скрыты скрытые файлы. Нажмите Пуск , введите folder optionsи нажмите Enter. Нажмите на вкладку « Вид », затем выберите « Не показывать скрытые файлы, папки или диски» в папке « Файлы и папки» \ « Скрытые файлы и папки» . Нажмите Apply , затем OK (или просто OK ).


1
единственное, что отстой в этом ... ничего не выводит. Нет способа проверить, к каким файлам это касалось. = (
Mechaflash

4
другая вещь, которая отстой, это то, что вы должны делать это вручную каждый раз, когда получаете такие файлы.
Юстинас Дуденас

1
моя Usersпапка очень благодарна
Майки

1
Осторожно: при CreateFileвызовах файлов Windows с CREATE_ALWAYSявно указанным FILE_ATTRIBUTE_HIDDENфлагом, но без указания этого параметра , операции со скрытыми файлами завершатся неудачно. Некоторые инструменты знают об этом, но с некоторыми (извините, не помню точно, с чем у меня были проблемы) это происходит тихо, и единственная заметная проблема состоит в том, что конфигурации или журналы как-то не обновляются. Проверьте, например, здесь для получения более подробной информации: 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. Код будет что-то вроде этого. Просто скомпилируйте его и поместите в папку «Автозагрузка». Но этот код не скрывает уже существующие файлы. Так что сначала запустите код от Люка, а потом этот код. Вам нужны 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 будет скрывать файлы со скрытым или системным флагом. Или файлы могут быть скрыты с помощью ACL. Windows не скрывает файлы по имени файла.

Чтобы Windows явно скрывала файлы по имени файла, вам нужно явно создать эту функцию. В этом случае будет работать либо драйвер файловой системы (для вирусов это характерно), либо взлом расширения оболочки.

Кстати, вы можете подделать эту функцию, отключив «Просмотр расширений файлов» в разделе «Параметры папки», поскольку для Проводника файл, начинающийся с точки, - это файл с расширением, но без имени.


2
Windows не имеет возможности скрыть все расширения файлов. Это относится только вариант: Folder Options> View> [ ] Hide extensions for known file types.
iglvzx

Как я уже сказал, не настоящая особенность.
Surfasb

Скрытие расширений для известных типов файлов, похоже, на самом деле не скрывает такие файлы. Я все еще вижу их в проводнике, просто с пустым именем. Он также не влияет на папки вообще (например, ".txt" по-прежнему отображается полностью). Windows 7.
sqweek

1

Я не думаю, что есть способ сделать это автоматически, но вы можете попробовать использовать команду ATTRIB, чтобы скрыть эти файлы:

ATTRIB + H

Затем убедитесь, что вы настроили Explorer, чтобы не показывать скрытые файлы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.