2009-09-09 15:23:43 +0000 2009-09-09 15:23:43 +0000
189
189

"Este ficheiro veio de outro computador..." - como posso desbloquear todos os ficheiros de uma pasta sem ter de os desbloquear individualmente?

O Windows XP SP2 e o Windows Vista têm este acordo onde a informação da zona é preservada em ficheiros descarregados para partições NTFS, de forma a bloquear determinados ficheiros em determinadas aplicações até que “desbloqueie” os ficheiros.

Por exemplo, se descarregar um ficheiro zip de código fonte para experimentar algo, todos os ficheiros irão mostrar isto nas definições de segurança das propriedades do ficheiro

“Este ficheiro veio de outro computador e pode ser bloqueado para ajudar a proteger este computador”

Juntamente com um botão “Unblock”. Alguns programas não se importam, mas o Visual Studio recusa-se a carregar projectos em soluções até que estes tenham sido desbloqueados.

Embora não seja terrivelmente difícil ir a cada ficheiro de projecto e desbloqueá-lo individualmente, é uma dor. E não parece que consiga desbloquear vários ficheiros seleccionados simultaneamente.

Existe alguma forma de desbloquear todos os ficheiros num directório sem ter de ir a todos eles individualmente?

Eu sei que pode desligar isto globalmente para todos os novos ficheiros mas digamos que não quero fazer isso

Respostas (14)

185
185
185
2009-09-09 15:41:51 +0000

Se descarregar um .ZIP e o descompactar, os ficheiros individuais serão marcados com a mesma zona que o .ZIP. Quase sempre que tenho uma pasta cheia de ficheiros “bloqueados”, foi assim que os obtive.

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

94
94
94
2012-05-09 14:08:40 +0000

PowerShell, disponível aqui , tem um Unblock-File cmdlet que lhe fará esta tarefa. Para desbloquear todos os ficheiros de um directório, emitiria o seguinte comando.

dir c:\mydir -Recurse | Unblock-File Unblock-File doc

65
65
65
2009-09-09 15:31:09 +0000

É bastante simples, NTFS anexou um fluxo de dados (que identifica “ficheiros inseguros”) ao ficheiro quando este é descarregado da Internet.

Retirar recursivamente este fluxo para todos os ficheiros, siga estes passos :

  1. Faça o download do Streams CLI executável a partir do Microsoft
  2. Coloque o executável streams.exe no seu directório Windows (ou em qualquer lugar onde o sistema o possa encontrar)
  3. Execute esta linha na linha de comando :

streams -s -d directório

Ele irá então remover todos os fluxos de dados de todos os ficheiros recursivamente no directório - agora desbloqueou com sucesso todos os ficheiros.

31
31
31
2009-09-09 15:47:51 +0000

AlternateStreamView pode listar todos os fluxos NTFS alternativos para ficheiros num directório (e subdirectórios se desejado).

Apagar todos os fluxos marcados com “:Zone.Identifier:$DATA” para os ficheiros seleccionados para se livrarem dos blocos de segurança.

12
12
12
2010-08-26 03:54:57 +0000

Uma alternativa muito fácil para este tipo de ligação à primeira resposta, digamos que se tem cerca de 1000 ficheiros que estão todos bloqueados basta pegar em todos os ficheiros e colocá-los numa nova pasta no seu ambiente de trabalho (ou qualquer directório de pastas que esteja a trabalhar neles, clique com o botão direito do rato nessa pasta e depois clique em Enviar para e depois fora das opções Clique em Pasta Comprimida (zipada), depois apague os seus ficheiros originais e extraia o ficheiro . ZIP folder e Viola!!! todos os seus ficheiros estão desbloqueados :D, funcionou para mim no XP Pro SP3, por isso, assumindo que também funcionará no Vista

9
9
9
2010-12-31 11:17:41 +0000

Para desactivar o bloqueio quando os ficheiros são descarregados, abra a seguinte chave de registo:

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

Alterar SaveZoneInformation para 1.

NOTE:

  • 0 = Não configurado
  • 1 = Activado
  • 2 = Desactivado
8
8
8
2009-09-09 16:28:51 +0000

Como outro cartaz dizia, a bandeira de ficheiro inseguro é armazenada num fluxo de dados NTFS. Isto significa que existe uma forma muito fácil de remover este fluxo de dados, basta mover o ficheiro para uma unidade que não suporte fluxos de dados NTFS.

Assumindo que o seu problema está mais relacionado com o número de ficheiros do que com o seu tamanho, então a forma mais fácil de o fazer pode ser mover (não copiar) os ficheiros para uma unidade formatada em FAT, depois movê-los de volta para a unidade NTFS (quase todas as unidades USB estão formatadas em FAT32, o que vai fazer bem), e depois mover esses ficheiros de volta para onde os quer.

Já fiz isto antes quando quis retirar a bandeira bloqueada de todo um directório de ficheiros descarregados e fez exactamente o que eu precisava.

7
7
7
2013-03-24 21:15:28 +0000
  • Baixe o utilitário Sysinternals Streams .
  • Descompacte e copie 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:

  • Salve o arquivo.

  • Clique duas vezes no ficheiro guardado para o fundir no registo.

Depois disto, sempre que clicar com o botão direito do rato num ficheiro, pode seleccionar “Unblock file” no menu de contexto ou pode clicar com o botão direito do rato numa pasta e seleccionar “Unblock files in here”. fonte

2
2
2
2012-05-09 13:49:26 +0000

Eu tinha a mesma edição e a forma como desbloqueei os ficheiros foi:

  • Adicionei todos os ficheiros bloqueados a um arquivo RAR (utilizei o WinRAR)
  • Removi os ficheiros originais
  • Extraí todos os ficheiros do arquivo

Todos os ficheiros estão agora desbloqueados.

Para mim foram algumas edições da Revista MSDN que estavam em formato .chm, mas não creio que o tipo de ficheiro importe.

1
1
1
2014-09-16 15:20:15 +0000

ZoneIDTrimmer ](http://www.gasanov.net/ZoneIDTrimmer.asp) parece ser a ferramenta mais fácil de usar disponível para isto:

1
1
1
2016-07-11 08:21:37 +0000

Estava à procura de um método batch (sem usar o powerhell) e depois de ler este post, encontrei esta solução simples

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

isto não removerá o fluxo de dados Zone.Identifier mas limpará o seu conteúdo que parece funcionar bem.

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

type filename.zip > filename.zip.tmp
move /y filename.zip.tmp filename.zip
0
0
0
2013-02-18 03:27:27 +0000

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 quero remover o bloco de algo, simplesmente mudo-o para essa unidade e depois volto a movê-lo :-)

-4
-4
-4
2012-01-09 12:01:51 +0000

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

No seu caso, takeown /f *.* /r para recorrer a todos os subdirectórios e desbloquear *.*. Jogue com o padrão, se necessário.

takeown /? para obter mais instruções de utilização.

-5
-5
-5
2012-01-26 19:29:15 +0000

Há outra forma fácil. Basta seleccionar o ficheiro ou a pasta, clicar com o botão direito do rato e seleccionar Properties⇨Security⇨Edit, depois clicar em Full Control.

Depois disso, basta clicar em [Save] e sair.