TIP#2218: Jak ve Windows zjistit soubory s rozšířenými atributy (alternate data streams)? A jak ADS ze souborů odstranit?

NTFS má jednu takovou dost problematickou vlastnost, soubory mohou mít Alternate Data Streams (ADS). Nejsou vidět, ve Windows je sice můžete vytvářet (dokonce i v příkazové řádce), ale už je nemůžete odstraňovat, ani s nimi nijak pracovat.

Problémy to dělá i při přenosech souborů z Windows jinam. SAMBA je například umí přenášet, takže je kopíruje i na QNAP NAS – tam ale vytvoří systémovou složku . Streams se kterou opět nemůžete pracovat. Ta dělá poté problémy při zálohování a různých dalších věcech. 

Pokud jste si jisti, že vytvořené ADS u souborů nepotřebujete tak je možné se jich zbavit. Pomůže vám v tom Streamsdocs.microsoft.com/en-us/sysinternals/downloads/streams

Nejprve můžete tuhle aplikaci použít pro zjištění, kde jaké ADS máte, umí to i rekurzivně procházet složky, takže snadno najde vše kde je ADS.

streams64 -s . >listing.txt

V listing.txt získáte kompletní přehled.  A pozor, přepínače (jako -s či -d) je nutné psát před určení souboru či složky.

Poté můžete použít i pro odstranění všech ADS. Můžete pustit na konkrétní soubor nebo prostě na celou strukturu složek.

Odstranit je snadné, stačí přidat -d přepínač.

Pokud například používáte Dropbox v počítači, tak ten používá ADS velmi intenzivně. Internet Explorer měl také ve zvyku ke každému staženému souboru přidat Zone.Identifier:$DATA s identifikací bezpečnostní zóny. Stažené soubory přes Edge je mají (bohužel) i nadále.