Серверная (www.it-simple.ru)

Веб-связка файла и папки в Windows


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

Берём WinXP, в любом месте файловой системы создаём папку с именем x.files. Предположим, в ней у нас находятся все 9 сезонов любимого одноимённого сериала.

Рядом с ней создадим (сами, вручную создадим) текстовый файл x.txt и переименуем его в x.html. Допустим, этот файл был сохранён с интернета и в спешке, чтобы не заморачиваться, мы дали ему название x.

Представили: x.files - все сезоны сериала, x.html - сохранённый с интернета файл, который нам больше не нужен. Удалим его!
Можно использовать Shift Del, чтобы удалить минуя корзину.

А фокус в том, что несмотря на то, что файлы были созданы в разное время и несмотря на то, что содержимое папки и файла никак не связаны, Windows XP удалит папку вместе с файлом, не спрашивая. Такие настройки выставлены в ней по умолчанию.

При удалении файла с расширением .htm или .html система тупо ищет папку с тем же именем и с постфиксом .files или _files и эта папка идёт вслед за файлом.

Наш каталог с сериалом мог называться не x.files, а x_files - в любом случае он был обречён.

Понятно, что само название папки роли не играет, она может называться important_files, working.files, some_files, в этом случае при удалении стоящего рядом файла important.htm, working.html или some.html, удалится соответствующая папка.

Попробуем понять как работает система, по какой вообще логике.

Эксперимент 1

Создаём где-нибудь две папки и два файла:

При удалении любого из файлов, удаляется папка my.files. При удалении любой папки удаляется файл my.htm. Запомнили и поехали дальше.

Эксперимент 2

Создадим папку x.files. С помощью Mozilla Firefox сохраним какой-либо файл с интернета под именем x.html - автоматически появится папка x_files.

При удалении x.html удалится папка x.files (в которой, не забываем, находится наш любимый сериал), а папка x_files с интернет-хламом останется на диске.

Результаты

В свойствах експлорера (обычного, не интернет; Пуск -> Панель управления -> Свойства папки) на вкладке «Вид» есть настройки того, как поступать системе с парами веб-страниц и папок. Они следующие:

Показывать и обрабатывать пару как единый файл
Стоит якобы по умолчанию. Не работает с момента выхода операционной системы Windows 2000. Ни один сервис-пак этот глюк не исправил, мало того, он тянется из системы в систему.

Показывать обе части и обрабатывать их отдельно
Другими словами, «разбить» пару. Эта настройка должна была стоять по умолчанию, потому что не приводит к потере данных: при удалении одного из файлов пары, другой не трогается.

Показывать обе части, но обрабатывать их как единый файл
Хоть и не стоит по умолчанию (в смысле в настройках), но работает именно она.

Но это в Windows 2000 и XP. В Windows Vista и 2008 разработчики исправили проблему: они просто убрали все эти пункты настройки нахрен. Теперь «разбить» пару невозможно, по крайней мере штатными средствами.

  1. Во всей линейке Windows - начиная с Windows 2000 и заканчивая Windows 2008 Server - по умолчанию стоит небезопасная настройка операций с веб-парами. Можно случайно, в результате простого совпадения имён, лишиться своих данных.

  2. При удалении одного из элементов веб-пары (файла или папки), сопутствующий ему элемент система ищет тупо по алфавиту, не проверяя на соответствие ни его размер, ни дату создания. Удаляет первый попавшийся.

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

Покупайте продукты компании Микрософт!