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
Respostas:
Se você baixar um
.ZIP
e 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
.fonte
O PowerShell, disponível aqui , possui um
Unblock-File
cmdlet 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
fonte
dir -Recurse | Unblock-File
É 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:
Ele removerá todos os fluxos de dados de todos os arquivos recursivamente no diretório - você agora desbloqueou todos os arquivos com êxito.
fonte
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.
fonte
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
fonte
Para desativar o bloqueio quando os arquivos são baixados, abra a seguinte chave do Registro:
Altere SaveZoneInformation para 1.
NOTA:
fonte
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.
fonte
Copie o script de registro abaixo nele:
Salve o arquivo.
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
fonte
@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
AlternateStreamView é ótimo. Outro método, porém, é arquivar os arquivos em .RAR, 7z ou .ZIP. Exclua os originais e depois extraia novamente os arquivos.
fonte
Eu tive o mesmo problema e a maneira como desbloquei os arquivos foi:
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.
fonte
O ZoneIDTrimmer parece a ferramenta mais amigável disponível para isso:
fonte
Eu estava procurando por um método em lote (sem usar o PowerShell) e depois de ler este post, encontrei esta solução simples
isso não removerá o
Zone.Identifier
fluxo 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)
fonte
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 :-)
fonte
Sim. Em um prompt de comando
takeown /f <name of file>
,.No seu caso,
takeown /f *.* /r
recorra a todos os subdiretórios e desbloqueie*.*
. Brinque com o padrão, se necessário.takeown /?
para mais instruções de uso.fonte
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.fonte