Создайте папку, назовите ее foldername. В командной строке перейдите в родительскую папку, в которой вы создали эту папку, и введите:
dir /r foldername
(здесь будет указано имя папки и любые связанные с ним потоки данных - их не будет).
Затем введите:
echo my string >foldername:test.txt
Это создаст альтернативный поток данных с именем test.txt для папки с именем foldername и заполнит ее "моей строкой".
Тип:
Dir /r foldername
Вы должны увидеть test.txt, связанный с foldername (этот поток будет содержать "мою строку").
Двойная проверка ... тип:
notepad foldername:test.txt
Блокнот откроется и позволит вам редактировать его. Закрой его.
Теперь перейдите на вкладку «Настройка» листа свойств (в Проводнике щелкните правой кнопкой мыши папку и выберите «Свойства», перейдите на вкладку «Настройка») и измените значок. Сохрани это.
Вернитесь в командную строку и введите:
echo my string2 >foldername:test2.txt
Это должно создать второй поток с именем test2.txt. Это терпит неудачу с "отказано в доступе". Я не нашел способа обойти это без воссоздания папки.
Итог: Вы не можете создать (или отредактировать) альтернативный поток данных для папки после изменения ее значка.
Зачем?
ОБНОВИТЬ:
Я заметил, что атрибуты папки изменились:
attrib foldername
вернулся R (только чтение). Попытка изменить это из Explorer, похоже, не работает. Тем не менее, это работает ...
attrib -R foldername
Затем я могу создавать и редактировать именованные потоки данных. Плохие новости здесь ... он сбрасывает значок папки. Таким образом, кажется, что при изменении значка папки она помечает папку (а не ее содержимое) как только для чтения. Похоже, что атрибуты папки только для чтения не могут быть изменены из Проводника.
http://support.microsoft.com/default.aspx?scid=kb;en-us;326549