Excluir janelas antigas / arquivos de programa da segunda unidade?


22

Meu PC possui várias unidades extras. A maioria deles contém cópias antigas do Windows e dos Arquivos de Programas. Meu PC se chama "PC" e meu usuário administrador se chama "Tim". Eu atribui a propriedade dessas segundas unidades ao usuário "PC \ Tim" e também dei ao usuário "PC \ Tim" controle total sobre as unidades. Em seguida, tento excluir as pastas Windows ou Arquivos de programas nessas unidades e receber a mensagem.

"Você precisa de permissão do PC \ Tim para fazer alterações nesta pasta."

O proprietário atual dessas pastas está listado como "Tim (PC \ Tim)". As permissões efetivas para essas pastas listam esse usuário com todos os direitos.

As absurdas "respostas" da comunidade microsoft oferecem, obviamente, coisas como "Use Disk Cleanup" (que é uma resposta descaradamente sem instrução) ou "apenas reformate a unidade" (a formatação evita o problema em vez de resolvê-lo).

Quais são as etapas corretas para excluir esses arquivos antigos?

Respostas:


55
  1. Abra um prompt de comando com privilégios administrativos.
  2. Execute os seguintes comandos, um de cada vez (altere "Z: \ Arquivos de Programas" pela pasta que você deseja excluir):

    takeown /F "Z:\Program Files" /A /R /D Y
    icacls "Z:\Program Files" /T /grant administrators:F
    rd /s /q "Z:\Program Files"
    

Nota 1 - Idioma do sistema operacional: takeown ... /D Ya entrada Y significa 'Sim' e será diferente dependendo do idioma do sistema operacional. A pasta Arquivos de Programas também pode ter nomes diferentes.

Nota 2 - versões mais antigas do Windows: Se icaclse rdnão são suportados em seguida, tentar usar caclse rmdir, em vez

Explicação e documentação:

O problema pode ser que você não possui as permissões corretas nas DACLs (listas de controle de acesso discricionário) da pasta e seu conteúdo. As DACLs identificam os trustees com acesso permitido ou negado a um objeto protegível. Portanto, simplesmente dar a propriedade da pasta pode não ser suficiente, mas você também precisa conceder permissão nas DACLs. Você pode conceder permissão usando o comando icacls, como mostrado no exemplo acima. Listas de controle de acesso e DACLs explicadas

takeown takeown documentation O administrador recupera o acesso a diretórios e ao conteúdo que foi negado anteriormente, tornando o grupo de administradores o proprietário. / F [diretório] especifica qual diretório, / A atribui a propriedade ao grupo de administradores, / R a executa como operação recursiva no diretório, todos os arquivos e subdiretórios, / D suprime as solicitações de confirmação quando o usuário não tem a permissão "List Folder" com opção Y a seguir, que se apropria do diretório. (Nota: a opção Y pode ser diferente dependendo do idioma do sistema operacional).

icacls documentação do icacls Concede ao grupo de administradores permissões de DAC de acesso total ao diretório. [diretório] especifica qual diretório, / T executa a operação em todos os arquivos especificados no diretório e subdiretórios, / concede concede direitos de acesso de usuário especificados com : F, que fornece acesso total. (Nota: os administradores do nome do grupo podem ser diferentes, dependendo do idioma do SO)

rd rd documentation Exclui o diretório com todos os seus subdiretórios e arquivos. / s exclui o diretório especificado e seus subdiretórios, incluindo todos os arquivos, / q especifica o modo silencioso para que você não receba solicitação de confirmação, [diretório] especifique qual diretório excluir.


5
Para a Windowspasta apenas renomeá-lo para Windows.olde com a limpeza de disco ferramenta / programa você pode simplesmente excluí-lo
SuperDJ

2
Caclsagora está obsoleto, use Icacls.
Tharindu Sathischandra 02/02/19

1
@Tharindu obrigado, atualizei a resposta com icacls agora. Por favor, verifique se ele parece correto
Arne H. Bitubekk

1
rmdiragora é rd
RaisingAgent 10/11/19

@RaisingAgent obrigado por headups, eu atualizei o snippit código com rd vez de rmdir
Arne H. Bitubekk

21

O que funcionou para mim foi uma versão simplificada dessa sugestão :

  1. Renomeie a Windowspasta paraWindows.old
  2. Execute a Limpeza de disco no menu Iniciar
  3. Selecione a unidade que contém a Windows.oldpasta
  4. Anterior "Instalação (ões) do Windows" e clique em OK

Isso funcionou para a pasta "Windows". Os 3 comandos do Arne HD funcionaram para outras pastas, como "Arquivos de Programas" e ProgramData.
gus

Inteligente! E extremamente simples. Funcionou como um encanto.
oneavi 6/01/18

1
Funciona com qualquer pasta se você alterar o nome para Windows.old. Impressionante.
AdnanG

Este é o melhor método, tentei 3 dos métodos descritos aqui e este foi o melhor.
RaRdEvA 24/11/19

3

Isso funcionou no Windows 10 ESPANHOL:

set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"

No takeowncomando, você deve usar um "S" no final para "Sí" em espanhol, em vez de "Y" para "Sim" (inglês).

Para o icaclscomando, você precisa usar "administradores" (espanhol) e não "administradores" (inglês).


1

Renomeie os Arquivos de Programa para Windows.old e execute o disco limpo para limpar os arquivos do sistema. O mesmo truque funciona em qualquer pasta que você não pode remover.


1

NOTA: Agora que penso nisso, você deve poder começar a partir da etapa 4, basta clicar no botão "alterar permissões" para obter acesso. Eu testaria, mas estou fora dos diretórios a serem excluídos.

No Windows 10 (provavelmente também funciona com o Windows 7 e 8):

  1. Clique com o botão direito do mouse em pasta-> propriedades-> segurança-> avançada.
  2. Clique em Alterar ao lado do proprietário (na parte superior). Digite seu nome de usuário na caixa e clique em verificar nomes. (Deve ser convertido no estilo MACHINENAME \ USERNAME.)
  3. Clique em OK, OK, OK para sair das opções de segurança.

Agora você deve possuir o diretório

  1. Clique com o botão direito do mouse em pasta-> propriedades-> segurança-> avançada. (Novamente.)
  2. Encontre "Usuários" na lista de permissões. Clique nele, selecione editar e escolha o controle total.
  3. Na parte inferior, marque "Substituir todas as entradas de permissão filho ...".
  4. Clique em OK e escolha Sim na caixa de aviso. Aguarde o computador aplicar as novas permissões.

Agora você deve ter as permissões necessárias para excluir os arquivos. Faça isso. (Testado nas pastas Arquivos de programas e Windows.old.)


Testado, funciona! obrigado!
GoTo

0

(Para a pasta do Windows) Se possível, altere o nome para windows.old.Em seguida, abra a limpeza do disco, selecione a unidade e clique em ok.Depois disso, clique em 'limpar arquivos do sistema' e ele excluirá a pasta

Agora, se você não pode renomear a pasta, faça o download do unlocker, abra-o e selecione a pasta, clique em renomear e altere o nome para Windows.old e execute a limpeza do disco. : D


-2

Crie um USB ativo da sua distribuição Linux preferida, inicialize nele, monte as unidades e limpe-as dessa maneira. Literalmente, a maneira mais fácil de fazer isso.


1
Eu acho que a pergunta é mais sobre permissões / propriedade de arquivos do que apenas exclusão de arquivos. Se existe a possibilidade de realizar tarefas usando as ferramentas do Windows, por que alguém deve baixar 500MB ou mais e criar um USB inicializável? Também não tenho 100% de certeza de que toda distribuição Linux "escolhida" pode manipular corretamente todas as versões do NTFS. NTFS não é um sistema de arquivos Linux. Você usaria o Windows para manipular arquivos no sistema de arquivos ext4 do Linux?
snayob

O kernel do Linux pode lidar com mais de 50 sistemas de arquivos. Além disso, é literalmente a maneira MAIS FÁCIL de fazer isso. Talvez não seja o que este usuário estava procurando, mas é fácil.
Steven Perszyk

1
Mais fácil? Baixando 1 GB e gravando em USB? Isso é realmente mais fácil do que emitir 3 comandos? Você parece ser um verdadeiro guru Linux;)
snayob

1
Não sei ao certo como esse "fato" aleatório e completamente falso se refere à discussão em questão, mas obrigado por me esclarecer. Se você quiser ter uma discussão pessoal sobre por que alguém escolheria um sistema GNU / Linux, eu ficaria feliz em ter essa discussão em outro lugar. Fora isso, esta discussão está ficando muito fora de tópico
Steven Perszyk

1
Não tenho interesse em discutir "A maneira mais fácil de fazer isso". Sua afirmação está gritando um fato completamente falso.
snayob

-2

É possível que você já possua o mesmo usuário, por ser um disco anterior que hospedava seu sistema. Remova essa propriedade e adicione-a novamente (a mesma). Por exemplo, se o usuário PETER tiver propriedade, remova-o, aplique-o a todas as subpastas, adicione-o novamente e aplique-o. Você deve poder renomear a pasta que deseja excluir e depois excluí-la.

Felicidades


Palpite sem instrução. O sistema de arquivos NTFS usa SIDs de conta de usuário em conjunto com listas de controle de acesso, não os nomes de exibição da conta de usuário.

-2

Supondo que a exclusão deva ser feita em uma segunda unidade: O que acabou de funcionar para mim é:

  1. instale o Lockhunter (aplicativo gratuito para desbloquear e renomear arquivos bloqueados) execute o Lockhunter com privilégios de administrador;

  2. renomeie a pasta para excluir para "Windows.old" (você ainda lerá o nome original após a renomeação, mas não se preocupe, a renomeação será confirmada pelo Lockhunter na janela principal);

  3. execute "Limpeza de disco" com privilégios administrativos;

  4. selecione a pasta a ser excluída que aparecerá com o nome "Windows.old" em Limpeza de disco e exclua-a.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.