Question

Aujourd'hui, j'ai vu cet étrange système magique prenant en charge NTFS: chaque fichier peut avoir plusieurs flux de données. Fondamentalement, on peut avoir un fichier a.txt de taille 0b mais il peut y avoir un nombre quelconque d’octets masqués dans un flux de données séparé pour ce fichier. C'est une magie strictement liée à NTFS et je ne vois aucune raison noble d'avoir ces flux autour. Vous pouvez rechercher des flux NTFS à l'aide de l'utilitaire streams de Sysinternals. Cela vous montrera que pratiquement chacun de ces thumbs.db fichiers vicieux est accompagné d'un flux de données supplémentaire.

D'accord, j'ai maintenant vu cette magie fonctionner sur un système Windows NT4, les flux ajoutés aux fichiers, copiés, supprimés (à l'aide de l'utilitaire susmentionné), mais j'essaye maintenant cela à la maison sur mon système Win XP , mais bien que je puisse détecter les flux existants, je ne peux pas afficher leur contenu, je ne peux pas en créer de nouveaux ou presque rien lorsque j'utilise la syntaxe filename:streamname.

Je reçois cette erreur:

  

Le nom du fichier, le nom du répertoire ou   la syntaxe du libellé de volume est incorrecte.

Exemple: Sortie de l'utilitaire de flux:

c:\DOWNLOADS>streams.exe -s .

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\DOWNLOADS\1013.pdf:
   :Zone.Identifier:$DATA       46

c:\DOWNLOADS>type 1013.pdf:Zone.Identifier
The filename, directory name, or volume label syntax is incorrect.

Pourquoi ne puis-je pas afficher le contenu du flux de données alternatif?

Consultation de la documentation Microsoft sur " Comment utiliser les flux de données alternatifs NTFS & Quot ;, je vois que cela s'applique à mon système d'exploitation, bien qu'ils indiquent que ces flux ne seront pas pris en charge dans le futur. N'importe qui peut nous éclairer?

Était-ce utile?

La solution

De mémoire: Les flux de données NTFS ont été introduits dans Windows NT 4.0 et ont été présents dans tous les descendants (à l'exception des descendants de win-95: 98, Me). Sous XP, Vista et Windows 7, ils sont toujours là. Tant que les versions Windows prennent en charge NTFS, elles prendront en charge les flux de fichiers. Ils prendront en charge NTFS pour une longue période.

L'erreur que vous avez est décrite sur la page que vous indiquez dans votre question. La commande type ne comprend pas les flux. Utilisez:

more < 1013.pdf:Zone.Identifier

Utilisation des flux

Microsoft ne dispose que de quelques commandes qui fonctionnent avec les flux. En fait, seuls <, > fonctionnent avec des flux, seules les commandes compatibles avec ces opérateurs de redirection peuvent donc être utilisées. J'ai écrit un quelques articles de blog sur des flux de données alternatifs expliquant comment vous pouvez le faire. continue de manipuler les flux avec seulement ces commandes.

Les flux ne fonctionnent qu'avec les programmes conçus pour fonctionner avec eux, simplement parce qu'ils doivent être traités spécifiquement (comparez les points de jonction, également une fonctionnalité de NTFS, mais le pilote cache les détails et les programmes n'ont rien à faire. spécial: ils considèrent simplement le point de jonction comme un vrai fichier).

Lorsque vous essayez d'ouvrir un flux de fichiers à l'aide de start filename:streamname et qu'un programme dit quelque chose comme " nom de fichier illégal " ou " fichier non trouvé " ;, et que vous êtes certain que le nom du flux est correct, il est probable que le programme ne prenne pas en charge les flux. J'ai remarqué que Notepad, Wordpad et Word / Excel fonctionnent correctement avec les flux, bien que Word et Excel considèrent les fichiers comme dangereux. Voici des expériences que vous pouvez essayer.

REMARQUE: vous semblez considérer les flux de données alternatifs comme impairs. Ils sont étranges parce qu’ils sont tellement cachés, mais de nombreux systèmes de fichiers majeurs (HFS, NSS) l’ont et le concept remonte au début des années 80. En fait, à l'origine, les flux étaient ajoutés à NTFS pour assurer l'interopérabilité avec d'autres systèmes de fichiers.

Autres conseils

BTW, vous pouvez ouvrir AltDataStream avec le bloc-notes:

notepad.exe 1013.pdf:Zone.Identifier

De plus, vous pouvez spécifier le type de AltDataStream (non seulement avec le Bloc-notes, il s'agit du 'nom complet du flux'):

1013.pdf:Zone.Identifier:$DATA
  

Ceci est une magie strictement liée à NTFS

Ce n'est pas le cas - Mac OS les utilise depuis ce temps-là. On les appelle fourches dans ce monde, et vous utiliseriez ResEdit pour les obtenir. Leur utilisation classique consiste à regrouper des ressources multimédias avec un exécutable.

Un objectif possible pour un flux alternatif: les méta-données. On peut ajouter, pour un document, une description longue sans affecter le contenu du fichier d'origine.

L'API Win32 gère très bien l'attribution de noms à d'autres flux.

CMD, d’autre part, effectue une analyse syntaxique géniale du nom de fichier quand il est possible d’avoir * /? expansion et barfs quand un " ;: " est présent. C’est pourquoi la copie et le type échouent, mais la redirection simple fonctionne.

L’erreur signifie littéralement qu’il n’est pas reconnu comme un flux de données alternatif et que la référence que vous créez contient un certain caractère qui n’est pas autorisé dans un nom de chemin (le : ; autres caractères non autorisé inclure \\ , / , etc).

Essayez:

démarrez this_is_a.txt: ads.exe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top