Não tente evitar o inevitável. Use backups e controle de versão.
Você poderia negue a você mesmo a permissão Excluir . A exclusão de arquivos e pastas dentro desse diretório é uma permissão separada que você também pode desativar quando necessário.
Eu tenho uma pasta muito importante no meu desktop. Ocasionalmente, limpo minha área de trabalho e estou muito preocupado por poder excluir a pasta mencionada inadvertidamente. Existe uma maneira de evitar esse desastre sem limitar minhas freqüentes operações de leitura e gravação no conteúdo da pasta? Nota Eu não me importo de excluir o conteúdo dentro da pasta, uma por uma de vez em quando, mas a pasta em si é importante para mim. Se for excluído, perco muitos esforços.
Não tente evitar o inevitável. Use backups e controle de versão.
Você poderia negue a você mesmo a permissão Excluir . A exclusão de arquivos e pastas dentro desse diretório é uma permissão separada que você também pode desativar quando necessário.
Existe uma solução melhor para o seu problema: mova a pasta para um local mais apropriado (por exemplo,% USERPROFILE% \ Documents)
Se você precisar acessar a pasta a partir da área de trabalho, poderá sempre criar um atalho. Isso garante que, embora você possa excluir acidentalmente o atalho, nunca excluirá a pasta ou seus próprios conteúdos preciosos.
Se outros aplicativos dependerem da presença dessa pasta na área de trabalho, você poderá criar um link simbólico com o comando "mklink". Como os links simbólicos são manipulados no nível do sistema de arquivos (enquanto os atalhos são arquivos reais que simplesmente apontam para outro local), não deve haver problemas de compatibilidade com programas que tentam usar esse tipo de "atalho" em caminhos.
Sim, potencialmente limitado por qual versão do Windows você tem (as versões iniciais podem não ter a capacidade de ajustar a propriedade). Além disso, tenha em atenção que remover as suas permissões de eliminação não é uma garantia de que não pode eliminar a pasta . Eu fui queimada várias vezes.
Aqui está um método que geralmente é infalível:
Eu usei este truque no Windows NT para o Windows 7. Às vezes você tem que brincar com as configurações antes de ficar perfeito.
TESTE EM UMA NOVA PASTA PRIMEIRA (incluindo a criação de arquivos e pastas dentro da pasta de teste!
Também : atenda aos conselhos de "Usar backups e controle de versão". Se os arquivos são tão importantes, você precisa de pelo menos 2 cópias.
Os sistemas de arquivos do Windows têm um sinalizador "somente leitura". Isso é mais simples do que ter que definir permissões DACL para um efeito tão simples.
Em um prompt de comando, use o comando ATTR. No shell da GUI, ele deve estar nas Propriedades, embora o gui possa fazer algo complexo e além do que você realmente queria.
Além disso, se você recriar um diretório com o mesmo nome, poderá aplicar "restaurar versões anteriores" nele.
Eu experimentei em um sistema Win7. A exclusão da GUI (sem lixeira) ignora o sinalizador R
no diretório. Não há avisos adicionais alertando sobre isso, como eu vi para H
e / ou S
flags. Emitir rd
da linha de comando concede acesso negado conforme o esperado. No entanto, você não pode apenas rd
de um diretório não vazio: o arquivo delete e o diretório remove são comandos diferentes. Um comando para remover recursivamente um diretório com conteúdo removerá o conteúdo e não removerá o diretório agora vazio.
Portanto, proteger o diretório em si não funciona na ação da GUI que você tem em mente. E implica que qualquer abordagem mais chique para impedir que o próprio diretório seja removido não impedirá que ele seja esvaziado primeiro! Você disse que ainda quer acesso normal dentro do diretório para criar e remover arquivos, então bloqueá-lo completamente não é uma solução para você.
A melhor solução parece ser o link simbólico . Fazendo um link simbólico (novo estilo, o que o Windows Vista e o Windows chamam agora de link simbólico) para o diretório na área de trabalho, quando o diretório realmente existe em outro lugar, funciona no sentido de que se eu excluir o ícone da área de trabalho (shift-delete, sem lixeira) o diretório real não é afetado, pois apenas o link foi excluído.
Shift-Delete do ícone da área de trabalho não se importava se estivesse marcado com o atributo R
.
Um programa usando a caixa de diálogo padrão de abertura de arquivos do Windows navegou pelo symlink sem problemas. Na verdade, resolveu o nome do diretório vinculado, então o arquivo aberto era o nome real ; por exemplo. Desktop\MyFolder
tornou-se D:\scratch\MyFolder
quando naveguei por ele.
Usando um link de estilo antigo (a Junction ), o programa viu o nome com a junção ainda no caminho; por exemplo. C:\Users\john\Desktop\MyFolder\test.txt
, então o fato de ser um link é invisível. No entanto, a ação de exclusão da GUI ainda a tratava como um link, não seguindo-a invisivelmente.
De qualquer forma, se um programa usar o nome do alias diretamente, ele funcionará. Mas ter arquivos às vezes vistos com um nome e às vezes o outro pode confundir as coisas.
Use um Junction na área de trabalho com a pasta realmente localizada em outro lugar, e será completamente transparente que é isso que está acontecendo. Opcionalmente, usando DACL para impedir a exclusão acidental do arquivo de ponto de junção na área de trabalho. Pelo menos, tenha um script para recriá-lo quando necessário.
Eu não tentei isso, mas gostaria de saber se você poderia ter algo em "novos itens" para recriar a junção ou o link simbólico? Em seguida, clique com o botão direito do mouse na área de trabalho vazia, escolha Novo ... e escolha "Lixo da área de trabalho" no menu. Restaurar tudo o que você realmente quer na área de trabalho.
Outra coisa que você deve considerar é ativar o recurso Histórico de Arquivos do Windows 8.1. Isso permitirá que seu sistema mantenha automaticamente um histórico de alterações em seus arquivos e pastas. É melhor usar com um local de armazenamento externo, mas também pode ser usado com uma unidade local.
Uma solução eficaz poderia estar removendo a pasta da área de trabalho e, em seguida, configurando uma junção NTFS usando o MKLINK
comando.
C:\Users\Administrator>MKLINK Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link specifies the new symbolic link name. Target specifies the path (relative or absolute) that the new link refers to.
Então, no seu caso, o comando seria:
MKLINK /J %userprofile%\Desktop\ImportantFolder D:\ImportantFolder
Em que D:\ImportantFolder
é a pasta real e %userprofile%\Desktop\ImportantFolder
é a junção.
Notas:
D:\ImportantFolder
e fazer as coisas. Portanto, se você excluir um arquivo passwords.txt
na junção, você o excluiu de d:/ImportantFolder
também. Você pode, em vez disso, instalar o Link Shell Extension , em seguida, mover sua pasta para outro local, clicar com o botão direito do mouse nela e selecione Pick link source...
, em seguida, clique com o botão direito na área de trabalho e selecione drop as...
- > %código%. E você está feito.
Esta é a primeira aplicação que eu instalo em sistemas novos, pois é uma solução extremamente útil. Eu recomendo veementemente que você sempre tenha que gerenciar junções ou links hard / simbólicos em seu computador.
Você pode fazer backup de todos os seus arquivos e pastas em onedrive. Você pode usá-lo gratuitamente, mas limitado para 15GB. No entanto, se você tiver uma assinatura do Office 365, terá 1 TB em storge onedrive e ela estará incluída.
Tags windows-8.1