Возможно создать бесконечное рекурсивное дерево каталогов. Это приведёт к хаосу во многих функциях просмотра структуры каталогов. Вот, как вы можете это сделать (примечание: требует NTFS).
Создайте папку в корне вашего диска C:, назовите её, в отсутствие более креативного имени, C:\C. Правый щелчок по "Мой Компьютер", выберите "Управление", щёлкните по оснастке "Управление дисками".
В "Управлении дисками" щёлкните правой по диску C и выберите "Изменить букву диска или путь к диску...".
В диалоге изменения буквы диска нажмите "Добавить" и, где он говорит "Подключить том как пустую NTFS-папку", введите "C:\C". Закройте все диалоги.
Поздравляю - вы только что создали на диске бесконечную рекурсию папок.
C:\> dir Volume in drive has no label Volume Serial Number is A035-E01D Directory of C:\ 08/19/2001 08:43 PM 0 AUTOEXEC.BAT 12/23/2004 09:43 PM <JUNCTION> C 05/05/2001 04:09 PM 0 CONFIG.SYS 12/16/2001 04:34 PM <DIR> Documents and Settings 08/10/2004 12:00 AM <DIR> Program Files 08/28/2004 01:08 PM <DIR> WINDOWS 2 File(s) 0 bytes 4 Dir(s) 2,602,899,968 bytes free C:\> dir C:\C Volume in drive has no label Volume Serial Number is A035-E01D Directory of C:\C 08/19/2001 08:43 PM 0 AUTOEXEC.BAT 12/23/2004 09:43 PM <JUNCTION> C 05/05/2001 04:09 PM 0 CONFIG.SYS 12/16/2001 04:34 PM <DIR> Documents and Settings 08/10/2004 12:00 AM <DIR> Program Files 08/28/2004 01:08 PM <DIR> WINDOWS 2 File(s) 0 bytes 4 Dir(s) 2,602,899,968 bytes free C:\> dir C:\C\C\C\C\C\C Volume in drive has no label Volume Serial Number is A035-E01D Directory of C:\C\C\C\C\C\C 08/19/2001 08:43 PM 0 AUTOEXEC.BAT 12/23/2004 09:43 PM <JUNCTION> C 05/05/2001 04:09 PM 0 CONFIG.SYS 12/16/2001 04:34 PM <DIR> Documents and Settings 08/10/2004 12:00 AM <DIR> Program Files 08/28/2004 01:08 PM <DIR> WINDOWS 2 File(s) 0 bytes 4 Dir(s) 2,602,899,968 bytes freeВперёд: добавляйте столько "\C", сколько захотите. Вы всегда будете получать ваш диск C.
Окей, теперь, когда вы вдоволь навеселились - идите обратно в "Изменить букву диска или путь к диску..." для диска C: и удалите запись с "C:\C". Сделайте это до того, как вы создадите хаос на машине.
Теперь представьте, что случится, если вы попытаетесь сделать рекурсивную копию этого загадочного каталога C:\C. Или если вы запустите любую программу, которая захочет сделать любую рекурсивную операцию с ним - например, подсчитать размеры всех файлов.
Если вы пишете такую программу, вам нужно быть в курсе существования reparse point (это та штука, которая показывалась как <JUNCTION> в листинге каталога). Вы можете опознать их, т.к. их файловые атрибуты включают в себя флаг FILE_ATTRIBUTE_REPARSE_POINT. Конечно же, что вам нужно делать, когда вы найдёте его - зависит целиком от вас. Я просто предупреждаю вас, что такие странные вещи действительно существуют, и если вы не будете осторожны, ваша программа может войти в бесконечный цикл.
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.