Какая у вас файловая система (ФС)? Если вы не знаете, то щелкните правой кнопкой на значке диска, выберите пункт Свойства, и ищите слова «Файловая система:». Что такое файловая система? Файловая система - это... м-м... Способ хранения файлов на диске? Ну что-то типа того. Можно спросить специалистов, но суть не в этом.
Если вы рядом со словами «Файловая система:» нашли магическую аббревиатуру NTFS, то этот материал для вас. NTFS, в отличие от FAT, умеет делать пару интересных штуковин. Говорят, что она также более надежная и безопасная, - охотно верю, но ничего об этом не знаю.
А мы рассмотрим то, что может быть полезным для простого сермяжного пользователя.
Ссылки
Что мы имеем в случае старенькой ФС FAT в плане ссылок на файл, находящийся где-то в другом месте? Да ничего. Ярлыки недаром называются ярлыками, так как ссылками не являются. Это файлы, читаемые проводником, который и видит в них ссылки, не более того.
В NTFS ссылки есть. Аж два вида. Первый вариант - для файлов. Вы можете создавать так называемые жесткие связи (hardlink). Фактически это значит, что у одного файла будет несколько имен (и путей - связь может быть в любой папке). По любому из этих имен можно читать, изменять, копировать один и тот же файл. Файл удаляется только тогда, когда не осталось ни одной ссылки на него. Забудьте про «истинное» расположение файла, его нет. Все ссылки на файл в равной мере истинны.
Как это можно использовать? Я этим пользуюсь, например, для того, чтобы файл, имеющий отношение к нескольким разным проектам, всегда присутствовал в папке каждого из них.
Второй вид ссылок - это junction (точка монтирования? - не знаю как перевести). Работает только для папок, в лице этой ссылки вы получаете точное зеркало выбранной папки, с которым можно полноценно работать, но здесь исходная папка и ссылка на нее - разные вещи. Ссылку можно безболезненно изничтожить, а удалив исходную папку, вы ее действительно удалите.
Когда вы открываете или сохраняете файл, какую папку предлагают вам диалоги «Окрыть» и «Сохранить как»? «Мои документы» либо текущий рабочий каталог. Все, что угодно, кроме нужного, даже если нужно всегда одно и то же. Моя идея состоит в том, чтобы напихать в «Мои документы» junction'ов на все мои рабочие папки (их не очень-то много). В этом случае они оказываются под рукой, независимо от того, использует ли приложение стандартные диалоги системы или тщится доказать свою иллюзорную уникальность.
К сожалению, вся эта радость работает только в пределах одного тома NTFS. Собрать кучу сетевых папок в одно место не выйдет.
Теперь техника ссылания (ссылательства, ссылкования?). Графического интерфейса для такого баловства в системе нет. Можно, конечно, воспользоваться командой fsutil: hardlink, но больно уж это неудобно. Рекомендую Link Shell Extension. Это расширение оболочки, которое встраивает дополнительные пункты в контекстное меню проводника, и позволяет создавать ссылки простым перетаскиванием или копированием файлов.
О потоках позже. Быть продолженным.
[...] пмейте в виду, что образ диска займет 6 Гб (у вас ведь NTFS, не правда ли?), и эмулятор – это святое – очень жаден до [...]