Четыре буквы перед именем файла
Введите attrib в командной строке в нужной папке, и перед каждым файлом появятся буквы. Они обозначают атрибуты — служебные отметки файловой системы. Буква R означает «только чтение», A «архивный», S «системный», H «скрытый». Есть и другие, например I для файлов, не включённых в индексирование.
Атрибуты не шифруют и не защищают данные. Скрытый файл не удалён и не недоступен: он просто не показывается в проводнике по умолчанию, пока не включён показ скрытых элементов. Системный атрибут говорит Windows, что это служебный объект, и многие программы относятся к нему осторожнее.
Просмотр без изменений безопасен. Чтобы увидеть, какие файлы скрыты, можно также воспользоваться командой dir /A:H, где ключ /A отбирает файлы по атрибутам.
В проводнике показ скрытых элементов включается в параметрах просмотра. Показ защищённых системных файлов вынесен отдельным параметром, и держать его включённым без необходимости не стоит: так проще случайно удалить нужное.
Как поставить и снять атрибут
Знак плюс включает атрибут, знак минус выключает. Запись attrib +h секрет.txt скрывает файл, а attrib -h секрет.txt возвращает его в обычный вид. Атрибуты можно комбинировать в одной команде: attrib +r +h документ.docx.
| Команда | Результат |
|---|---|
| attrib | показать атрибуты файлов в папке |
| attrib +h файл | скрыть файл |
| attrib -h файл | снять признак скрытого |
| attrib +r файл | защитить от случайной записи |
| attrib -r -s -h файл | снять только чтение, системный и скрытый |
| attrib -h /S /D папка\* | снять скрытие у вложенного содержимого |
Если имя содержит пробелы, берите его в кавычки. Если у файла выставлены одновременно атрибуты S и H, снять только один из них обычно не получается: команда откажется менять такой файл. Снимайте оба в одной команде: attrib -s -h файл.
Для папок команда по умолчанию применяется к самим папкам только вместе с ключом /D, а ключ /S охватывает файлы во вложенных каталогах, подходящие под шаблон.
Обратите внимание, что атрибут «архивный» ставится системой автоматически при изменении файла, и им пользуются программы резервного копирования, чтобы понять, какие файлы изменились. Снимать его вручную смысла обычно нет, если вы не используете такой механизм.
Ключи /S и /D и шаблоны
Ключ /S применяет команду к совпавшим файлам в указанной папке и во всех подпапках. Ключ /D делает то же для самих папок, а не только для файлов. Часто их используют вместе: attrib -h /S /D D:\Архив\*.* затрагивает всё содержимое каталога.
Перед массовыми изменениями проверьте результат на небольшой папке. В большом дереве легко случайно снять атрибуты с файлов, которые были скрыты намеренно, например служебных файлов программ. Вернуть всё, как было, возможно, только если вы заранее сохранили вывод attrib в файл: attrib /S > атрибуты.txt.
Пример с проверкой: сначала attrib /S /D D:\Архив\*.* > до.txt, затем изменение, затем тот же вызов в файл после.txt. Сравнив два текстовых файла, вы увидите, что именно поменялось.
Если нужно применить команду только к файлам определённого типа, добавьте в конец шаблон: attrib -h /S D:\Фото\*.jpg. Так вы не затронете остальные файлы, а проверка результата станет проще, потому что список затронутых объектов ограничен.
Для файлов, которые не получается изменить с первого раза, попробуйте открыть консоль от имени администратора и повторить команду. Если и это не помогает, вероятнее всего, дело в правах на объект или в том, что его использует другая программа; в обоих случаях атрибуты ни при чём.
Файлы на флешке стали скрытыми, а вместо папок ярлыки
Распространённая ситуация: открываете флешку, а там вместо привычных папок только ярлыки, или папки не видны, хотя место на носителе занято. Частая причина в том, что вредоносная программа скрыла настоящие папки и подменила их ярлыками. Но возможны и другие причины, например сбой файловой системы.
Прежде чем что-либо делать, проверьте флешку антивирусом и не запускайте ярлыки, которые подозрительно ведут на исполняемые файлы. Затем можно выполнить attrib -h -r -s /S /D X:\*.*, где X заменяется буквой носителя, чтобы вернуть видимость данных. Перед запуском убедитесь, что X это именно буква флешки: на системном диске такая команда раскроет служебные файлы Windows. Сначала потренируйтесь на тестовой папке, например attrib -h -r -s /S /D C:\Test\*.*. Это снимает признаки скрытия, но не лечит заражение.
- Включите показ скрытых файлов в проводнике и сверьте содержимое.
- Просканируйте носитель и удалите подозрительные ярлыки только после копирования нужных данных.
- Скопируйте данные на другой диск и отформатируйте флешку, если подозрения остаются.
- Если файлов нет совсем, проверьте носитель на ошибки, а не пользуйтесь им для записи.
Иногда после снятия атрибутов папки всё равно не видны. Тогда стоит проверить, не удалены ли они, и не повреждена ли файловая система. Для этого пригодится команда проверки диска, а при подозрении на сбой носителя важнее скопировать то, что доступно, чем продолжать эксперименты.
Ограничения и осторожность
Некоторые файлы с системным атрибутом нужны Windows, и снимать с них признаки вручную не стоит. Операция не повредит файл, но при случайной массовой обработке корневой папки диска вы раскроете множество служебных объектов, и разобраться потом будет трудно.
Если команда сообщает об отказе в доступе, дело не в атрибутах, а в правах на файл или папку. О просмотре и изменении прав рассказывает страница про icacls. Для файлов, занятых процессом, сначала найдите и закройте программу.
Атрибут «только чтение» мешает только записи и удалению в обычном порядке, но не сохраняет файл от намеренной очистки. Для защиты данных от потери используйте резервные копии, а не атрибуты.
Иногда файл не удаётся удалить из-за атрибута «только чтение». Тогда достаточно снять его командой attrib -r и повторить удаление. Если и это не помогло, причину следует искать в правах или в том, что файл занят программой.
Сохраняйте и вывод команды до изменения: он пригодится, если потом понадобится вернуть некоторые файлы в прежнее скрытое состояние.