Skip to main content

Streams 1.56

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 27 апреля 2007 г.

Введение

Файловая система NTFS позволяет приложениям создавать дополнительные информационные потоки данных. По умолчанию, все данные хранятся в основном безымянном потоке данных файла, но синтаксис «файл:поток» позволяет выполнять чтение и запись в дополнительные потоки. Доступ к дополнительным потокам предусмотрен не во всех приложениях, однако демонстрация использования потоков не составит труда. Сначала средствами командной строки перейдите в каталог на диске NTFS. Затем введите команду «echo hello > test:stream». В результате будет создан поток под названием stream, ассоциированный с файлом test. Обратите внимание: размер файла test приравнивается к нулю и при открытии в любом текстовом редакторе он выглядит пустым. Для просмотра потока введите команду «more < test:stream» (команда type не поддерживает синтаксис потоков, отсюда необходимость в применении команды more).

В NT не предусмотрены средства, позволяющие узнать перечень файлов NTFS с ассоциированными потоками. Поэтому мне пришлось написать такую программу самому. Программа Streams анализирует указанные вами файлы и каталоги (у каталогов могут быть дополнительные потоки данных) и сообщает имена и размеры всех именованных потоков, встречающихся в этих файлах. Она основывается на недокументированной собственной функции извлечения данных о файловых потоках.

Синтаксис: streams [-s] [-d] <файл или каталог>

-sРекурсивный обход вложенных каталогов.
-dУдаление потоков.
При указании потоков допускается применение шаблонов – например, «streams *.txt».

 


К началу страницыК началу страницы