"Este archivo vino de otra computadora ...": ¿cómo puedo desbloquear todos los archivos en una carpeta sin tener que desbloquearlos individualmente?

186

Windows XP SP2 y Windows Vista tienen este acuerdo donde la información de la zona se conserva en los archivos descargados a las particiones NTFS, de modo que bloquea ciertos archivos en ciertas aplicaciones hasta que "desbloquee" los archivos.

Entonces, por ejemplo, si descarga un archivo zip de código fuente para probar algo, cada archivo lo mostrará en la configuración de seguridad de las propiedades del archivo

"Este archivo proviene de otra computadora y podría estar bloqueado para ayudar a proteger esta computadora"

Junto con un botón "Desbloquear". A algunos programas no les importa, pero Visual Studio se negará a cargar proyectos en soluciones hasta que se hayan desbloqueado.

Si bien no es terriblemente difícil ir a cada archivo de proyecto y desbloquearlo individualmente, es un dolor. Y no parece que pueda desbloquear múltiples archivos seleccionados simultáneamente.

¿Hay alguna forma de desbloquear todos los archivos en un directorio sin tener que ir a todos ellos individualmente?

Sé que puedes desactivarlo globalmente para todos los archivos nuevos, pero digamos que no quiero hacer eso

Tom Kidd
fuente
30
¿Cómo se apaga esto globalmente? ¿Enlace por favor? :) Gracias
underskor
19
Sí, la peor "característica" de Windows ...
Brian Knoblauch
16
Segundo peor. Lo primero es la ejecución automática en medios recién descubiertos, que es lo que inició este desastre.
kmarsh
66
@Thomas Como señala una de las respuestas, puede hacerlo configurando la clave de registro HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Attachments \ SaveZoneInformation = 1. Más información: support.microsoft.com/kb/883260
jamiebarrow
3
Mis descargas en Google Chrome se etiquetan y tengo que desbloquearlas. @jamiebarrow tiene la información correcta para deshabilitar esto globalmente a través del registro, o puede usar el Editor de directivas de grupo local (gpedit.msc) y cambiar la configuración en Configuración de usuario> Plantillas administrativas> Componentes de Windows> Administrador de archivos adjuntos> No conservar información de zona en archivos adjuntos> Habilitado.
Baodad

Respuestas:

180

Si descarga .ZIPy lo descomprime, los archivos individuales se marcarán como la misma zona que .ZIP. Casi cada vez que tengo una carpeta llena de archivos "bloqueados", así es como los obtuve.

Antes de descomprimir, haga clic en el botón Desbloquear en el .ZIP.

Jay Bazuzi
fuente
1
Este es definitivamente el más fácil: tú ganas
Tom Kidd
En la misma conclusión a la que llegué, una forma fácil de empaquetar archivos de una manera que no es NTFS, encontré esto buscando en Google estos términos: desbloquear todos los archivos en un directorio xp.
Will Bickford
3
En realidad no. Descargo archivos zip para usar el contenido y dejo que mi navegador abra el archivo zip automáticamente. Desde allí invoco "Extraer todos los archivos". No hay opción para desbloquear desde esta ubicación, y buscar el archivo zip en la carpeta de descarga o, lo que es peor, la carpeta temporal, es muy tedioso.
Thomas Eyde
Desearía poder votar esto más de una vez.
Dave Thieben 01 de
Esta solución solo funciona si no ha modificado los archivos que salieron del archivo ZIP.
Charlie
90

PowerShell, disponible aquí , tiene un Unblock-Filecmdlet que hará esta tarea por usted. Para desbloquear todos los archivos en un directorio, debe emitir el siguiente comando.

dir c:\mydir -Recurse | Unblock-File

Desbloquear archivo doc

pk.
fuente
2
Ya no es solo Beta, se lanza y funciona bastante bien.
Ken Hiatt
¡Excelente! Extraje un zip grande y olvidé desbloquearlo primero, luego eliminé el zip para ahorrar espacio. Esto me salvó la descarga de nuevo o una carga de trabajo manual :)
Danny Tuppeny
3
Esto funcionó para mí, pero no proporcionó ningún comentario en la línea cmd. También lo modifiqué un poco, si ya está en la carpeta, puede hacerlodir -Recurse | Unblock-File
user36088
3
Funciona como un campeón. Esta debería ser la respuesta aceptada.
Chuck Conway
1
Perfecto. Esta debería ser la respuesta aceptada. Desbloquear el archivo zip está bien si lo recuerdas, pero este método para hacerlo para un montón de archivos a la vez es genial.
Bas
64

Es bastante simple, NTFS adjuntó una secuencia de datos (que identifica "archivos inseguros") al archivo cuando se acaba de descargar de Internet.

Elimine recursivamente esta secuencia para todos los archivos, siga estos pasos:

  1. Descargue el ejecutable de Streams CLI de Microsoft
  2. Coloque el archivo ejecutable streams.exe en su directorio de Windows (o en cualquier lugar donde el sistema pueda encontrarlo)
  3. Ejecute esta línea en la línea de comando:

streams -s -d directorio

Luego eliminará todos los flujos de datos de todos los archivos de forma recursiva en el directorio: ahora ha desbloqueado con éxito todos los archivos.

monstruo
fuente
99
Puede ser peligroso Windows también usa transmisiones para otros fines.
harrymc
66
Muy raro: los flujos de datos apenas se usan para nada, ya que es una característica no documentada. Será seguro si, como ha dicho Schnapple, solo quiere desbloquear archivos en un determinado directorio que se sabe que son documentos recibidos en Internet. En ningún momento estoy recomendando que haga _streams -s -d C: _ :)
caliban
66
solo se verificó (ya que Streams es una característica indocumentada que es difícil de verificar) con algunas personas, y creen que una vez que un documento se transfiere a través de Internet o pasa por algo que no sea NTFS, pierde todos los datos de transmisión. Como resultado, la primera vez que descargue algo de Internet, el único flujo de datos que tendrá es ese flujo de datos de "Archivo inseguro".
caliban
22
¿Por qué crees que no están documentados? ( msdn.microsoft.com/en-us/library/aa364404(VS.85).aspx )
Reuben
66
No elimine ciegamente todas las secuencias de datos alternativas, a menos que tenga copias de seguridad de esos archivos cifrados NTFS.
Ian Boyd
31

AlternateStreamView puede enumerar todas las secuencias NTFS alternativas para archivos en un directorio (y subdirectorios si lo desea).

Elimine todas las transmisiones marcadas " : Zone.Identifier: $ DATA " para los archivos seleccionados para deshacerse de los bloques de seguridad.

ingrese la descripción de la imagen aquí

Snark
fuente
1
Hay otra herramienta para este propósito exacto - ZoneIDTrimmer
itsho
@ZoneIDTrimmer - No estoy seguro de entender. ¿Qué otra herramienta?
user66001
55
ZoneIDTrimmer es el nombre de la herramienta, no el alias de la persona.
Snark
11

Una solución muy fácil para esto se relaciona con la primera respuesta, por ejemplo, si tiene alrededor de 1000 archivos que están bloqueados, simplemente tome todos los archivos y colóquelos en una nueva carpeta en su escritorio (o en cualquier directorio de carpetas en el que esté trabajando haga clic derecho en dicha carpeta y luego haga clic en Enviar a y luego fuera de las opciones Haga clic en Carpeta comprimida (comprimida), luego elimine sus archivos originales y extraiga la carpeta .ZIP y Viola !!! todos sus archivos están desbloqueados: D, funcionó para mí en XP Pro SP3, por lo que supongo que también funcionará en Vista

Kristian
fuente
Con mucho, la menor cantidad de trabajo. ¡Agradable!
RomanSt
9

Para deshabilitar el bloqueo cuando se descargan los archivos, abra la siguiente clave de registro:

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

Cambie SaveZoneInformation a 1.

NOTA:

  • 0 = no configurado
  • 1 = habilitado
  • 2 = deshabilitado
usuario61000
fuente
2
No tengo esa opción en Windows 7 y el artículo solo menciona XP. Aún así, parece interesante.
AndrejaKo
¿Se puede agregar la clave para habilitar / deshabilitar? El hecho de que no tenga una clave de Política de usuario solo significa que no se ha configurado de esa manera; todavía puedes usarlo.
JohnZaj
@ user61000 - ¿Tengo razón en mi sospecha de que esto solo altera el comportamiento de IE y no (como descubrí que ahora se hace con la última versión de) los navegadores Firefox (u otros)?
user66001
Requiere derechos de administrador :(
Dilema
1
Esto también funciona en Windows 7 y 8 (y probablemente 10). Enlace actualizado: support.microsoft.com/en-us/kb/883260 . Esto también afecta a Chrome y creo que Firefox.
thaimin
8

Como dijo otro afiche, el indicador de archivo inseguro se almacena en un flujo de datos NTFS. Lo que esto significa es que hay una manera muy fácil de eliminar esta secuencia de datos, simplemente mueva el archivo a una unidad que no sea compatible con las secuencias de datos NTFS.

Suponiendo que su problema está más relacionado con la cantidad de archivos, en lugar del tamaño de ellos, entonces la forma más fácil de hacerlo podría ser mover (no copiar) los archivos a una unidad con formato FAT y luego volver a moverlos al NTFS unidad (casi todas las memorias USB están formateadas en FAT32, por lo que funcionará bien), y luego mueva esos archivos nuevamente a donde desee.

Lo hice antes cuando quise quitar la bandera bloqueada de un directorio completo de archivos descargados e hizo exactamente lo que necesitaba.

GAThrawn
fuente
7
  • Descargue la utilidad Sysinternals Streams .
  • Descomprima y copie streams.exe en \ Windows \ System32.
  • Cree un nuevo archivo de texto y cámbiele el nombre a algo como "unblocker.reg".
  • Copie el siguiente script de registro en él:

    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\""
    
  • Guarda el archivo.

  • Haga doble clic en el archivo guardado para fusionarlo en el registro.

Después de esto, cada vez que haga clic derecho en un archivo, puede seleccionar "Desbloquear archivo" en el menú contextual o puede hacer clic derecho en una carpeta y seleccionar "Desbloquear archivos aquí".

fuente

creapure90
fuente
+1 Gran idea para hacer que este proceso requiera menos tiempo.
user66001
Funcionó para mí, después de agregar la ruta a streams.exe en el formato 8.3:@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
Olivier Jacot-Descombes
Sé que este es un hilo viejo pero gracias. Hay varias versiones del mismo script de registro en Internet y la mayoría de ellas no funcionan. Puedo agregar que esto funcionó para mí en Windows 7 professional 64bit.
trenten
5

AlternateStreamView es genial. Sin embargo, otro método es archivar los archivos en .RAR, 7z o .ZIP. Elimine los originales y luego vuelva a extraer los archivos.

Alec
fuente
2

Tuve el mismo problema y la forma en que desbloqueé los archivos fue:

  • Agregué todos los archivos bloqueados a un archivo RAR (usé WinRAR)
  • Eliminé los archivos originales
  • Extraje todos los archivos del archivo

Todos los archivos ahora están desbloqueados.

Para mí, fueron algunos problemas de MSDN Magazine los que estaban en formato .chm, pero no creo que el tipo de archivo importe.

leoinfo
fuente
1

ZoneIDTrimmer parece la herramienta más fácil de usar disponible para esto:

ingrese la descripción de la imagen aquí

RomanSt
fuente
1

Estaba buscando un método por lotes (sin usar powershell) y después de leer esta publicación se me ocurrió esta solución simple

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

Esto no eliminará el Zone.Identifierflujo de datos, pero borrará su contenido que parece funcionar bien.

Otra solución (que borrará todas las secuencias de datos y usará un archivo temporal es esta)

type filename.zip > filename.zip.tmp
move /y filename.zip.tmp filename.zip
Jürgen Steinblock
fuente
0

Tengo un disco duro externo usb que funciona muy bien para eliminar los bloques ... Hice una pequeña partición y lo formateé en FAT32 ... cuando quiero eliminar el bloque de algo, simplemente lo muevo a esa unidad y luego lo muevo hacia atrás :-)

user200075
fuente
Este es ciertamente un buen enfoque, pero ya se ha mencionado en la respuesta de GAThrawn .
Dennis
Posiblemente el menos arriesgado / paso intensivo fuera de las soluciones alternativas proporcionadas.
user66001
-4

Si. En un símbolo del sistema, takeown /f <name of file>.

En su caso, takeown /f *.* /rrecurrir a todos los subdirectorios y desbloquear *.*. Juega con el patrón si es necesario.

takeown /? para más instrucciones de uso

Peter Mounce
fuente
1
¿Cómo ayudará eso?
Werner Henze
-5

Hay otra manera fácil. Simplemente seleccione el archivo o la carpeta, haga clic derecho y seleccione Propiedades⇨Seguridad⇨Editar , luego haga clic en Control total .

Después de eso, solo debes hacer clic [Save]y salir.

shreyas
fuente
2
Este no es el lugar donde Windows almacena la información de que el archivo proviene de otra computadora.
Werner Henze
De acuerdo Werner Henze . Lástima, sin embargo, como el esfuerzo de shreyas con las flechas unicode.
user66001