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
Respuestas:
Si descarga
.ZIP
y 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
.fuente
PowerShell, disponible aquí , tiene un
Unblock-File
cmdlet 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
fuente
dir -Recurse | Unblock-File
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:
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.
fuente
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.
fuente
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
fuente
Para deshabilitar el bloqueo cuando se descargan los archivos, abra la siguiente clave de registro:
Cambie SaveZoneInformation a 1.
NOTA:
fuente
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.
fuente
Copie el siguiente script de registro en él:
Guarda el archivo.
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
fuente
@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
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.
fuente
Tuve el mismo problema y la forma en que desbloqueé los archivos fue:
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.
fuente
ZoneIDTrimmer parece la herramienta más fácil de usar disponible para esto:
fuente
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
Esto no eliminará el
Zone.Identifier
flujo 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)
fuente
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 :-)
fuente
Si. En un símbolo del sistema,
takeown /f <name of file>
.En su caso,
takeown /f *.* /r
recurrir a todos los subdirectorios y desbloquear*.*
. Juega con el patrón si es necesario.takeown /?
para más instrucciones de usofuente
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.fuente