Возможно создать бесконечное рекурсивное дерево каталогов. Это приведёт к хаосу во многих функциях просмотра структуры каталогов. Вот, как вы можете это сделать (примечание: требует 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 можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.