Synchronisation of Alternate Data Streams

Sep 24, 2015 at 4:49 AM
I have worked out how to use File Metadata as a basic document management tool. It works well on a single machine however in my case I would like to synchronise the files between remote computers over the internet. I think this may be applicable to many people these days using Dropbox and the like.

My research indicates Dropbox and similar will not preserve ADS on sync however it appears BitTorrent Sync can synchronise ADS. The catch is that the streams must be added to a 'white list' or they are ignored (I guess for security reasons).

I have worked out how to identify the streams added by File Metadata using PowerShell. However, on testing, the stream name starts with Unicode character 'Black Club Suit' ♣, specifically ♣SummaryInformation. PowerShell (Get-content) does not seem to recognise this stream nor does BT Sync.

Assuming the ♣ is the issue is there a way to avoid using this character in the stream name? Alternatively, how can I add the name with ♣ effectively? Is there any guidance available in terms of how streams are named or could be controlled in File Metadata?

Thank you for the product and your assistance.
Sep 24, 2015 at 11:42 AM
Hi benjsc,

File Meta does not have any influence over what is stored in the alternate streams: they are entirely controlled by NTFS. Having said that, I believe that they are instances of OLE Document Storage, which is a complex binary format, and why you see names prefixed with strange characters. It may be possible to decode this format, but there is no way to change it. So any transport mechanism needs to transport the entire contents of the alternate stream unchanged, or NTFS will fail to decode it at the other end.

The only other way I have thought of to move the metadata around is to export it to XML, and reimport it at the other end; obviously, though this breaks the file copy metaphor that is what one really wants.