“Este arquivo veio de outro computador…” - como posso desbloquear todos os arquivos em uma pasta sem precisar desbloqueá-los individualmente?

186

O Windows XP SP2 e o Windows Vista têm esse acordo em que as informações da zona são preservadas nos arquivos baixados nas partições NTFS, de modo que bloqueiam certos arquivos em certos aplicativos até você "desbloquear" os arquivos.

Por exemplo, se você fizer o download de um arquivo zip do código-fonte para experimentar algo, cada arquivo o exibirá nas configurações de segurança das propriedades do arquivo

"Este arquivo veio de outro computador e pode estar bloqueado para ajudar a proteger este computador"

Juntamente com um botão "Desbloquear". Alguns programas não se importam, mas o Visual Studio se recusará a carregar projetos em soluções até que eles sejam desbloqueados.

Embora não seja terrivelmente difícil acessar cada arquivo do projeto e desbloqueá-lo individualmente, é uma dor. E não parece que você pode desbloquear vários arquivos selecionados simultaneamente.

Existe alguma maneira de desbloquear todos os arquivos em um diretório sem precisar ir a todos individualmente?

Eu sei que você pode desativar isso globalmente para todos os novos arquivos, mas digamos que eu não queira fazer isso

Tom Kidd
fonte
30
Como alguém desativa isso globalmente? O link, por favor? :) Obrigado
underskor 05/10/2009
19
Sim, pior "recurso" Windows sempre ...
Brian Knoblauch
16
Segundo pior. O primeiro pior é a execução automática em uma nova mídia, que foi o que iniciou essa bagunça.
kmarsh
6
@Thomas Como uma das respostas indica, você pode fazer isso definindo a chave do Registro HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Attachments \ SaveZoneInformation = 1. Mais informações: support.microsoft.com/kb/883260
jamiebarrow
3
Meus downloads no Google Chrome são marcados e eu tenho que desbloqueá-los. @jamiebarrow possui as informações corretas para desabilitar isso globalmente por meio do registro, ou você pode usar o Editor de Diretiva de Grupo Local (gpedit.msc) e alterar a configuração em Configuração do Usuário> Modelos Administrativos> Componentes do Windows> Gerenciador de Anexos> Não preservar informações da zona em anexos de arquivo> Ativado.
Baodad 22/07/2014

Respostas:

180

Se você baixar um .ZIPe descompactá-lo, os arquivos individuais serão marcados com a mesma zona que o .ZIP. Quase todas as vezes que tenho uma pasta cheia de arquivos "bloqueados", é assim que os consigo.

Antes de descompactar, clique no botão Desbloquear no .ZIP.

Jay Bazuzi
fonte
1
Esse é definitivamente o mais fácil - você venceu
Tom Kidd
+1 na mesma conclusão que cheguei - uma maneira fácil de empacotar arquivos de maneira não NTFS - encontrei isso pesquisando no Google os seguintes termos: desbloqueie todos os arquivos em um diretório xp.
Will Bickford
3
Na verdade não. Faço o download de arquivos zip para usar o conteúdo e deixo meu navegador abrir o arquivo zip automaticamente. A partir daí, invoco "Extrair todos os arquivos". Não há opção para desbloquear a partir desses locais, e procurar o arquivo zip na pasta de download ou, pior ainda, a pasta temporária, é muito tedioso.
Thomas Eyde
Eu gostaria de poder votar isso mais de uma vez.
Dave thieben
Esta solução funciona apenas se você não modificou os arquivos que saíram do arquivo ZIP.
Charlie
90

O PowerShell, disponível aqui , possui um Unblock-Filecmdlet que fará essa tarefa por você. Para desbloquear todos os arquivos em um diretório, você deve emitir o seguinte comando.

dir c:\mydir -Recurse | Unblock-File

Doc. Desbloquear arquivo

pk.
fonte
2
Não é mais apenas Beta, é lançado e funciona muito bem.
Ken Hiatt
Excelente! Extraí um zip grande e esqueci de desbloqueá-lo primeiro, depois excluí o zip para economizar espaço. Isso me salvou de baixá-lo novamente ou uma carga de trabalho manual :)
Danny Tuppeny
3
Isso funcionou para mim, mas não forneceu nenhum feedback na linha de cmd. Eu também tweaked-lo um pouco, se você já está na pasta, então você só pode fazerdir -Recurse | Unblock-File
user36088
3
Funciona como um campeão. Essa deve ser a resposta aceita.
Chuck Conway
1
Perfeito. Essa deve ser a resposta aceita. Desbloquear o zip é bom e elegante, se você se lembrar, mas esse método para fazer isso para vários arquivos de uma só vez é ótimo.
Bas
64

É bastante simples, o NTFS anexou um fluxo de dados (que identifica "arquivos não seguros") ao arquivo quando ele é baixado da Internet.

Remova recursivamente este fluxo para todos os arquivos, siga estas etapas:

  1. Baixe o executável da CLI do Streams da Microsoft
  2. Coloque o streams.exe executável no diretório do Windows (ou em qualquer lugar que o sistema possa encontrá-lo)
  3. Execute esta linha na linha de comando:

diretório streams -s -d

Ele removerá todos os fluxos de dados de todos os arquivos recursivamente no diretório - você agora desbloqueou todos os arquivos com êxito.

caliban
fonte
9
Pode ser perigoso. O Windows também usa fluxos para outros fins.
harrymc 9/09/09
6
Muito raro - os fluxos de dados dificilmente são usados ​​para qualquer coisa, pois é um recurso não documentado. Será seguro se, como o schnapple disse - ele apenas deseja desbloquear arquivos em um determinado diretório que são conhecidos por serem documentos recebidos pela internet. Em nenhum momento eu estou recomendando-o a fazer _streams -s -d C: _ :)
caliban
6
acabou de ser verificada (já que o Streams é um recurso não documentado, é difícil verificar isso) com algumas pessoas, e elas acreditam que quando um documento é transferido pela Internet ou passa por algo diferente de NTFS, ele perde todos os dados do stream. Como resultado, quando você baixa pela primeira vez algo da Internet, o único fluxo de dados que você terá é aquele "Dados não seguros".
caliban
22
Por que você acha que eles não estão documentados? ( msdn.microsoft.com/pt-br/library/aa364404(VS.85).aspx )
Reuben
6
Não exclua cegamente todos os fluxos de dados alternativos, a menos que você tenha cópias de backup desses arquivos criptografados em NTFS.
22610 Ian Boyd
31

O AlternateStreamView pode listar todos os fluxos NTFS alternativos para arquivos em um diretório (e subdiretórios, se desejado).

Exclua todos os fluxos marcados como " : Zone.Identifier: $ DATA " dos arquivos selecionados para se livrar dos blocos de segurança.

insira a descrição da imagem aqui

Snark
fonte
1
Há uma outra ferramenta para essa finalidade exata - ZoneIDTrimmer
itsho
@ZoneIDTrimmer - Não sei ao certo. Que outra ferramenta?
User66001
5
ZoneIDTrimmer é o nome da ferramenta, não o alias da pessoa.
Snark
11

Uma solução muito fácil para isso está ligada à primeira resposta, digamos, se você tiver cerca de 1000 arquivos bloqueados, pegue todos os arquivos e coloque-os em uma nova pasta na área de trabalho (ou em qualquer diretório de pasta em que você esteja trabalhando) clique com o botão direito do mouse na pasta e clique em Enviar para e, em seguida, entre as opções. Clique em Pasta compactada (zipada) e depois exclua seus arquivos originais e extraia a pasta .ZIP e o Viola !!! todos os seus arquivos são desbloqueados: D, funcionou para mim no XP Pro SP3, assumindo que funcionará também no Vista

Kristian
fonte
De longe a menor quantidade de trabalho. Agradável!
RomanSt
9

Para desativar o bloqueio quando os arquivos são baixados, abra a seguinte chave do Registro:

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

Altere SaveZoneInformation para 1.

NOTA:

  • 0 = Não configurado
  • 1 = Ativado
  • 2 = Desativado
user61000
fonte
2
Eu não tenho essa opção no Windows 7 e o artigo menciona apenas o XP. Ainda assim, parece interessante.
AndrejaKo
Você pode adicionar a chave para ativar / desativar? Só porque você não tem uma chave de política do usuário significa apenas que ela não foi configurada dessa maneira; você ainda pode usá-lo.
JohnZaj
@ user61000 - Estou certo, sob minha suspeita, de que apenas altera o comportamento do IE, e não (como descobri agora é feito com a versão mais recente do) navegadores Firefox (ou outros)?
User66001
Requer direitos de administrador :(
Quandary 8/15
1
Isso funciona no Windows 7 e 8 também (e provavelmente 10). Link atualizado: support.microsoft.com/en-us/kb/883260 . Isso também afeta o Chrome e acho que o Firefox.
thaimin
8

Como outro pôster disse, o sinalizador de arquivo inseguro é armazenado em um fluxo de dados NTFS. O que isso significa é que existe uma maneira muito fácil de remover esse fluxo de dados, basta mover o arquivo para uma unidade que não suporta fluxos de dados NTFS.

Supondo que seu problema esteja mais relacionado ao número de arquivos, e não ao tamanho deles, a maneira mais fácil de fazer isso é mover (não copiar) os arquivos para uma unidade formatada em FAT e movê-los de volta para o NTFS drive (quase todos os pen drives USB estão formatados como FAT32, o que é bom) e, em seguida, mova esses arquivos de volta para onde você os deseja.

Eu já fiz isso antes, quando queria retirar o sinalizador bloqueado de um diretório inteiro de arquivos baixados e fez exatamente o que eu precisava.

GAThrawn
fonte
7
  • Faça o download do utilitário Sysinternals Streams .
  • Descompacte e copie o streams.exe para \ Windows \ System32.
  • Crie um novo arquivo de texto e renomeie-o para algo como "unblocker.reg".
  • Copie o script de registro abaixo nele:

    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\""
    
  • Salve o arquivo.

  • Clique duas vezes no arquivo salvo para mesclá-lo no registro.

Depois disso, sempre que você clicar com o botão direito do mouse em um arquivo, poderá selecionar "Desbloquear arquivo" no menu de contexto ou clicar com o botão direito do mouse em uma pasta e selecionar "Desbloquear arquivos aqui".

fonte

creapure90
fonte
+1 Ótima idéia para tornar esse processo menos demorado.
User66001
Funcionou para mim, depois que adicionei o caminho para streams.exe no formato 8.3:@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
Olivier Jacot-Descombes
Eu sei que este é um tópico antigo, mas obrigado. Existem várias versões do mesmo script reg na internet e a maioria delas não funciona. Posso acrescentar que isso funcionou para mim no Windows 7 64bit profissional.
trenten 28/07
5

AlternateStreamView é ótimo. Outro método, porém, é arquivar os arquivos em .RAR, 7z ou .ZIP. Exclua os originais e depois extraia novamente os arquivos.

Alec
fonte
2

Eu tive o mesmo problema e a maneira como desbloquei os arquivos foi:

  • Adicionei todos os arquivos bloqueados a um arquivo RAR (usei o WinRAR)
  • Eu removi os arquivos originais
  • Eu extraí todos os arquivos do arquivo

Todos os arquivos agora estão desbloqueados.

Para mim, foram alguns problemas da Revista MSDN que estavam no formato .chm, mas não acho que o tipo de arquivo seja importante.

leoinfo
fonte
1

Eu estava procurando por um método em lote (sem usar o PowerShell) e depois de ler este post, encontrei esta solução simples

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

isso não removerá o Zone.Identifierfluxo de dados, mas ficará claro o conteúdo que parece funcionar bem.

Outra solução (que limpará todos os fluxos de dados e usará um arquivo temporário é esta)

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

Eu tenho um disco rígido externo USB que funciona muito bem para remover os blocos ... Fiz uma pequena partição e formatei-a em FAT32..quando eu quero remover o bloco de algo, simplesmente o movo para essa unidade e depois movo-o de volta :-)

user200075
fonte
Esta é certamente uma boa abordagem, mas já foi mencionada na resposta do GAThrawn .
Dennis
Possivelmente, o menos arriscado / intensivo das respostas alternativas fornecidas.
User66001
-4

Sim. Em um prompt de comando takeown /f <name of file>,.

No seu caso, takeown /f *.* /rrecorra a todos os subdiretórios e desbloqueie *.*. Brinque com o padrão, se necessário.

takeown /? para mais instruções de uso.

Peter Mounce
fonte
1
Como isso deve ajudar?
Werner Henze
-5

Existe outra maneira fácil. Basta selecionar o arquivo ou a pasta, clique com o botão direito do mouse e selecione Propriedades> Segurança> Editar e , em seguida, clique em Controle total .

Depois disso, você deve apenas clicar [Save]e sair.

shreyas
fonte
2
Este não é o local onde o Windows armazena as informações de que o arquivo vem de outro computador.
Werner Henze 22/01
Concordo com Werner Henze . Pena, porém - como o esforço de shreyas com as setas unicode.
User66001