web-dev-qa-db-fra.com

"Ce fichier provient d'un autre ordinateur ..." - comment puis-je débloquer tous les fichiers d'un dossier sans avoir à débloquer individuellement?

Windows XP SP2 et Windows Vista ont cette affaire où les informations de zone sont conservées dans les fichiers téléchargés sur des partitions NTFS, de sorte qu'elles bloquent certains fichiers dans certaines applications jusqu'à ce que vous les "débloquiez".

Ainsi, par exemple, si vous téléchargez un fichier Zip contenant le code source pour essayer quelque chose, chaque fichier l’affiche dans les paramètres de sécurité des propriétés du fichier.

"Ce fichier provient d'un autre ordinateur et pourrait être bloqué pour protéger cet ordinateur"

Avec un bouton "Débloquer". Certains programmes ne s’y intéressent pas, mais Visual Studio refusera de charger des projets dans des solutions tant qu’ils n’auront pas été débloqués.

Bien que ce ne soit pas très difficile d’aller dans chaque fichier de projet et de le débloquer individuellement, c’est pénible. Et il ne semble pas que vous puissiez débloquer plusieurs fichiers sélectionnés simultanément.

Existe-t-il un moyen de débloquer tous les fichiers d'un répertoire sans avoir à les consulter tous individuellement?

Je sais que vous pouvez désactiver cette option globalement pour tous les nouveaux fichiers, mais disons que je ne veux pas le faire

185
Tom Kidd

Si vous téléchargez un .Zip et décompressez-le, les fichiers individuels seront marqués comme la même zone que le .Zip. Presque chaque fois que j'ai un dossier plein de fichiers "bloqués", voici comment je les ai obtenus.

Avant de décompresser, cliquez sur le bouton Débloquer sur le .Zip.

180
Jay Bazuzi

PowerShell, disponible here , a une cmdlet Unblock-File qui s’acquittera de cette tâche pour vous. Pour débloquer tous les fichiers d'un répertoire, vous devez exécuter la commande suivante.

dir c:\mydir -Recurse | Unblock-File

Unblock-File doc

90
pk.

C'est très simple, NTFS a associé un flux de données (identifiant les "fichiers non sécurisés") au fichier lorsqu'il vient d'être téléchargé à partir d'Internet.

Supprimez récursivement ce flux pour tous les fichiers, procédez comme suit:

  1. Téléchargez le exécutable CLI de Streams de Microsoft
  2. Placez l'exécutable streams.exe dans votre répertoire Windows (ou partout où le système peut le trouver)
  3. Exécutez cette ligne dans la ligne de commande:

flux -s -d répertoire

Il supprimera alors tous les flux de données de tous les fichiers de manière récursive dans le répertoire - vous avez maintenant débloqué avec succès tous les fichiers.

64
caliban

AlternateStreamView peut répertorier tous les autres flux NTFS pour les fichiers d'un répertoire (et de sous-répertoires, le cas échéant).

Supprimez tous les flux marqués ": Zone.Identifier: $ DATA} _" pour les fichiers sélectionnés afin de vous débarrasser des blocs de sécurité.

enter image description here

31
Snark

Une solution très simple à ce problème est liée à la première réponse: par exemple, si vous avez environ 1 000 fichiers bloqués, prenez-les tous et placez-les dans un nouveau dossier sur votre bureau (ou dans le répertoire de dossiers dans lequel vous travaillez). Cliquez avec le bouton droit sur le dossier en question, puis cliquez sur Envoyer vers, puis cliquez sur Dossier compressé (zippé), puis supprimez les fichiers d'origine et extrayez le dossier .Zip et Viola !!!, tous vos fichiers sont débloqués: D, travaillé pour moi sur XP Pro SP3, donc en supposant que cela fonctionne également sur Vista

11
Kristian

Pour désactiver le blocage lorsque les fichiers sont téléchargés, ouvrez la clé de registre suivante:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\SaveZoneInformation

Changez SaveZoneInformation en 1.

REMARQUE:

  • 0 = non configuré
  • 1 = activé
  • 2 = désactivé
9
user61000

Comme l'a dit une autre affiche, l'indicateur de fichier non sécurisé est stocké dans un flux de données NTFS. Cela signifie qu'il existe un moyen très simple de supprimer ce flux de données: il suffit de déplacer le fichier sur un lecteur ne prenant pas en charge les flux de données NTFS.

En supposant que votre problème soit davantage lié au nombre de fichiers qu'à la taille de ceux-ci, le moyen le plus simple consiste à déplacer (pas copier) les fichiers sur un lecteur au format FAT, puis de les déplacer. retour sur le lecteur NTFS (presque chaque clé USB est formatée FAT32 donc va bien faire), puis déplacez ces fichiers à l'endroit où vous le souhaitez.

Je l'avais déjà fait auparavant lorsque je voulais retirer l'indicateur bloqué de tout un répertoire de fichiers téléchargés et que c'était exactement ce dont j'avais besoin.

8
GAThrawn
  • Téléchargez le Sysinternals Streams utility.
  • Décompressez et copiez streams.exe dans\Windows\System32.
  • Créez un nouveau fichier texte et renommez-le en "unblocker.reg".
  • Copiez le script de registre ci-dessous:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\*\Shell\unblockfile]
    @="Unblock file"
    
    [HKEY_CLASSES_ROOT\*\Shell\unblockfile\command]
    @="cmd /c streams -d \"%1\""
    
    [HKEY_CLASSES_ROOT\Directory\Shell\unblockallthefiles]
    @="Unblock the files inside"
    
    [HKEY_CLASSES_ROOT\Directory\Shell\unblockallthefiles\command]
    @="cmd /c streams.exe -d -s \"%1\""
    
  • Enregistrez le fichier.

  • Double-cliquez sur le fichier enregistré pour le fusionner dans le registre.

Après cela, chaque fois que vous cliquez avec le bouton droit sur un fichier, vous pouvez sélectionner "Débloquer un fichier" dans le menu contextuel ou vous pouvez également cliquer avec le bouton droit de la souris sur un dossier et sélectionner "Débloquer des fichiers ici".

source

7
creapure90

AlternateStreamView est génial. Une autre méthode consiste à archiver les fichiers au format .RAR, 7z ou .Zip. Supprimez les originaux, puis ré-extrayez les fichiers.

5
Alec

J'ai eu le même problème et la façon dont j'ai débloqué les fichiers était:

  • J'ai ajouté tous les fichiers bloqués à une archive RAR (j'ai utilisé WinRAR)
  • J'ai enlevé les fichiers originaux
  • J'ai extrait tous les fichiers de l'archive

Tous les fichiers sont maintenant débloqués.

Pour moi, certains numéros de MSDN Magazine étaient au format .chm, mais je ne pense pas que le type de fichier importe.

2
leoinfo

ZoneIDTrimmer ressemble à l'outil le plus convivial disponible pour cela:

enter image description here

1
RomanSt

Je cherchais une méthode batch (sans utiliser powershell) et après avoir lu cet article, j'ai proposé cette solution simple.

echo. > .\filename.Zip:Zone.Identifier

cela ne supprimera pas le flux de données Zone.Identifier mais supprimera le contenu qui semble fonctionner correctement.

Une autre solution (qui efface tous les flux de données et utilise un fichier temporaire est la suivante)

type filename.Zip > filename.Zip.tmp
move /y filename.Zip.tmp filename.Zip
1
Jürgen Steinblock

J'ai un disque dur externe USB qui fonctionne très bien pour supprimer les blocs ... J'ai créé une petite partition et je l'ai formaté en FAT32..Lorsque je souhaite supprimer le bloc de quelque chose, je le déplace simplement vers ce lecteur, puis le déplace vers l'arrière :-)

0
user200075