Новые и обсуждаемые темы в

Новые и обсуждаемые темы в

Новые и обсуждаемые темы в

Я не хочу видеть 50 лишних папок и файлов в корне профиля и диска, поэтому отображение скрытых и системных файлов у меня отключено. А вам не мешают папки типа Documents and Settings или файл desktop.ini на рабочем столе? Сегодня мы поговорим об отображении файлов и папок, их атрибутах и ссылках файловой системы.

Когда-то у меня было включено отображение скрытых и системных файлов.  Мне казалось, что так я лучше контролирую происходящее в системе. Но начиная с Windows Vista, на диске появилось слишком много лишних объектов, и я отображаю только те, что мне могут быть нужны.

Скрытые и системные файлы

На рисунке вы видите корень моего системного диска. Слева отображение скрытых и системных файлов включено, а справа – выключено. Почувствуйте разницу!

Ненужные файлы и папки лишь рассеивают внимание и отвлекают от главного.  Достаточно просто знать, что в корне диска есть папки ProgramData и $Recycle.Bin или файлы pagefile.sys и hiberfil.sys, с которыми мы никогда не работаем.

[+] Сегодня в программе

Как настроить отображение скрытых и системных файлов

Я уверен, что большинство читателей знает, где все настраивается, поэтому буду краток.

Начиная с Windows 8, можно переключать отображение скрытых файлов на вкладке Вид ленты проводника.

В проводнике:

  • Windows 8 и новее — ФайлПараметрыВид
  • Windows 7 — УпорядочитьПараметры папок и поискаВид

Скрытые и системные файлы

В Total Commander: Конфигурация – НастройкаЭкран:

Скрытые и системные файлы

Занятно, что в TC у флажка такое название, что не поставить его – значит, себя не уважать :)

Как я сказал выше, в проводнике у меня отключен показ скрытых и системных файлов. Когда они мне нужны, я переключаю вид проводника одним щелчком мыши. Как я заметил выше, в новых ОС нужная опция есть на ленте Проводника, и я добавил ее в панель быстрого запуска. А в Windows 7 это делается из контекстного меню.

Скрытые и системные файлы

Эта команда вызывает скрипт VBS, который делает всю работу – изменяет параметры реестра и обновляет текущее окно проводника. Кстати, похожий скрипт уже появлялся в комментариях блога.

Скрипт VBS для переключения отображения скрытых и системных файлов

Мой REG-файл добавляет запуск скрипта из контекстного меню папки и ее фона (пункт отображается при вызове меню с нажатой клавишей Shift).

REG-файл для добавления скрипта VBS в контекстные меню папки

Предполагается, что вы скопировали скрипт в папку System32 (конечно, можно указать свой путь к скрипту). Можете просто скачать архив с готовыми файлами.

Читатели Андрей и equinox решают аналогичную задачу в Total Commander кнопкой на панели.

В чем разница между скрытыми и системными файлами

Если вы заметили, за показ скрытых и системных файлов в TC отвечает одна настройка, а в проводнике — две. Системные файлы и папки необходимы для нормальной работы операционной системы, а скрытые — просто не отображаются в файловом менеджере. Многие файлы и папки операционной системы имеют оба эти атрибута.

В корне моего профиля программы GIMP и VirtualBox создали четыре служебные папки. Я никогда не захожу в них, поэтому сделал их скрытыми, чтобы не мешали.

Скрытые и системные файлы

Достаточно выделить файлы или папки, и в свойствах установить атрибут «Скрытый».

Скрытые и системные файлы

Раз уж речь зашла об атрибутах, предлагаю остановиться на них подробнее. Тем более, что это пригодится позже.

Атрибуты файлов и папок

Как видно на рисунке выше, в свойствах файлов и папок отображаются только два атрибута – «Скрытый» и «Только чтение».

Как посмотреть атрибуты

Все атрибуты можно увидеть, добавив в файловом менеджере столбец «Атрибуты».

Скрытые и системные файлы

Каждой букве соответствует атрибут:

  • R — «Только чтение» (Read-only)
  • A — «Архивный» или готов для архивирования (Archived). Подробнее об этом атрибуте я рассказал в комментариях.
  • S — «Системный» (System)
  • H — «Скрытый» (Hidden)
  • I — «Неиндексированное содержимое» (Index)

Кроме того, папки обозначаются буквой D (Directory), а ссылки – буквой L (Link). К ссылкам мы еще обязательно вернемся.

Как изменить атрибуты

С помощью команды attrib можно отображать и изменять атрибуты файлов, на изменение которых у вас есть права. Например, команда

attrib C:\test.txt

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

Скрытые и системные файлы

Когда файл является системным, в свойствах невозможно изменить атрибут «Скрытый» — флажок затенен.

Я задал атрибуты файла так:

attrib +S +H C:\test.txt

Чтобы установить атрибут, перед ним нужно поставить плюс, а чтобы снять – минус. В одной команде можно сразу указать несколько атрибутов.

attrib -S -H C:\test.txt

Почему у папок флажок «Только для чтения» имеет три состояния

Если вы посмотрите свойства любой папки, то увидите, что флажок «Только для чтения» не установлен, а заполнен голубым цветом.

Скрытые и системные файлы

Начиная с Windows Vista, флажок «Только для чтения» всегда имеет такой вид.

Если вы:

  • установите флажок, все файлы внутри папки станут только для чтения, т.е. их невозможно будет изменить
  • снимете флажок, все файлы лишатся этого атрибута

Эти действия эквиваленты команде

attrib +R "C:\test\." /S

где ключ /S обеспечивает обработку файлов во вложенных папках.

В любом случае, когда вы откроете свойства папки в следующий раз, флажок опять будет заполнен цветом. Любопытно, что эти действия никак не отражаются на атрибуте самой папки, который нельзя сменить в свойствах на вкладке «Общие».

Однако его можно задать исключительно для папки все той же командой attrib

attrib +R "C:\test\"

Это никак не повлияет на возможность переименования, удаления папки или записи в нее, потому что Windows игнорирует атрибут в этих случаях.

У папки атрибуты «Только для чтения» и «Системный» лишь указывают проводнику на то, что это особая папка, вид которой изменен с помощью файла desktop.ini.

Например, это папки:

  • Документы, Избранное, Шрифты
  • любые другие папки, внешний вид которых вы изменяете в свойствах на вкладке «Настройка»

Так, когда вы задаете папке свой значок, Windows автоматически создает скрытый файл desktop.ini и назначает папке атрибут «Только для чтения». Это можно увидеть командой:

attrib "C:\test\"

Подробнее об атрибутах папок «Только для чтения» и «Системный» рассказывается в KB326549, но ее русская версия представляет собой машинный перевод.

Надеюсь, тема атрибутов раскрыта, и самое время перейти к вопросу, который я уже пять лет вижу в форумах клиентских операционных систем.

Как получить доступ к папке  “Documents and Settings” в корне диска и похожим папкам в профиле

Вообще, правильнее интересоваться, для чего нужны эти папки. Тогда сразу отпадет вопрос о том, как в них попасть.

Скрытые и системные файлы

Совместимость программ

Начиная с Windows Vista, в системе изменилось расположение пользовательских профилей. Если раньше они хранились в папке %SystemDrive%\Documents and Settings, то сейчас — в %SystemDrive%\Users.

Теперь представьте, что некая старая программа не знает об этом изменении и пытается сохранить данные в профиле пользователя старым добрым способом.

Чтобы программы не «ломались», разработчики Windows предусмотрели автоматическое перенаправление из старого расположения профиля в новое. 

Давайте посмотрим, как это работает на практике. Откройте командую строку и попробуйте создать текстовый файл на рабочем столе, будто работая в XP.

echo Hello, User!> "%SystemDrive%\documents and settings\%UserName%\desktop\hello.txt"

Хотя вы не могли попасть в папку Documents and Settings, перенаправление сработало, и файл создался на рабочем столе.

Аналогичную роль играют и многочисленные папки в корне пользовательского профиля (Cookies, Start Menu и т.д.). Они обеспечивают перенаправление данных в имеющиеся пользовательские папки.

Несуществующие папки

Всех этих папок на самом деле не существует. Это просто ссылки, что видно в столбце «Атрибуты».

Скрытые и системные файлы

Выделенные буквы D и L означают папка (Directory) и ссылка (Link). Получается некая папка-ссылка.

Куда ведут эти ссылки? Вообще, в проводнике можно добавить столбец «Цель ссылки», но в данном случае он бесполезен, потому что показывает цель только для символических ссылок. Впрочем, старая добрая команда dir нам все покажет:

cd %userprofile% dir /asd

Первая команда переходит в профиль, а вторая – отображает системные папки (sd), т.е. команда dir оперирует уже знакомыми вам атрибутами.

Скрытые и системные файлы
Увеличить рисунок

Во-первых, стало понятно, куда ведут ссылки. Во-вторых, на сцену вышло слово JUNCTION в качестве типа папки.

Соединения (junctions)

Соединения (другое название — точки подключения) заложены на уровне файловой системы NTFS. В контексте темы нашего разговора они делятся на системные и пользовательские.

Системные соединения присутствуют в установочном WIM-образе Windows сразу. Помимо Documents and Settings в корне диска, это папки в корне %SystemDrive%\Users:

  • All Users перенаправляет в папку %SystemDrive%\ProgramData, о которой мы еще поговорим
  • Public (общие файлы пользователей) и Default  (профиль стандартного пользователя) содержат соединяющие ссылки внутри папок

Пользовательские соединения появляются в профиле динамически при создании учетной записи.

Вы можете создать соединения самостоятельно командой mklink. Для эксперимента сначала создайте в корне диска папку test, а затем в командной строке выполните:

mklink /j c:\junction c:\test

Будет создано соединение с именем junction, которое ведет в папку test.

Я уже рассказывал о практическом применении команды mklink на примере создания символической ссылки. Ее можно создать на файл, а также использовать пути UNC – в этом и заключаются основные отличия символической ссылки от соединения.

Что хранится в папке ProgramData

В корне диска есть папка ProgramData, где хранятся данные программ, которые предназначены для всех пользователей системы. Фактически – это замена папки All Users в Windows XP.

Папка ProgramData интересна тем, что служит не только в качестве ловушки для перенаправленных данных, но и сама передает их в другие расположения.

Скрытые и системные файлы

Представьте, что вы установили программу для всех пользователей. У каждого из них на рабочем столе и в меню «Пуск» оказался ярлык программы. В Windows XP это достигалось путем создания ярлыков в папках %AllUsersProfile%\Desktop и %AllUsersProfile%\Start Menu.

Давайте попробуем создать файл на рабочем столе у всех пользователей этим способом.

echo Hello, Users!> "%AllUsersProfile%\desktop\hello-users.txt"

Вы увидите файл у себя на рабочем столе, но реально он расположен в новом месте — %SystemDrive%\Users\Public\Desktop, т.е. на общем рабочем столе.

Недавно на форуме был задан вопрос о подпапке Application Data. Участника смутило, что эта ссылка ведет обратно в корень папки ProgramData.

Скрытые и системные файлы
Увеличить рисунок

Неподготовленному человеку это может взорвать мозг :) Но вы-то уже знаете, что данные перенаправляются абсолютно верно – в папку, где теперь хранятся данные программ для всех пользователей.

Опрос

Итак, давайте подведем итог. Мы выяснили, что:

  • в корне диска и профиля находится около 50 служебных файлов и папок
  • служебные папки перенаправляют данные в другие расположения с помощью соединений файловой системы, обеспечивая совместимость со старыми программами
  • когда отображение скрытых и системных файлов включено, становится труднее найти действительно нужные файлы, что замедляет навигацию
  • при необходимости можно одним щелчком мыши переключить отображение скрытых и системных файлов

У меня навигация в проводнике происходит быстрее, когда отображение служебных файлов отключено. Я также намеренно скрываю некоторые папки, с которыми не работаю. А как с этим обстоят дела у вас?

У читателей, которые постоянно держат перед глазами скрытые и системные файлы, я очень хочу узнать: зачем вам это нужно?

Наконец, если вы используете соединения или символические ссылки, поделитесь опытом в комментариях!

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.



У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок

У меня тоже есть для вас подарок