Quero manter um bloqueio exclusivo em um arquivo para que ele não possa ser lido ou gravado por mais nada. Existe uma ferramenta ou comando simples do Windows para fazer isso?
Suponho que a ferramenta ou utilitário implementaria a função Windows LockFileEx .
Nota : Tentei editores de texto como o Notepad e o Notepad ++ em um arquivo de texto, mas eles não possuem um bloqueio exclusivo.
windows-7
windows-server-2008
John K
fonte
fonte
Respostas:
Experimente o Easy File Locker (freeware).
fonte
Solução mais simples: No diretório de interesse, execute a partir da linha cmd:
Como stdout redirecionado, ele permanecerá bloqueado até que o aplicativo (bloco de notas) seja encerrado.
Observe que o "filetolock" será substituído pelo redirecionamento, portanto você provavelmente não deseja usar um arquivo existente de qualquer importância. Um "filetolock" vazio não importará para o aplicativo que você está tentando testar, pois o aplicativo não poderá abri-lo de qualquer maneira.
fonte
notepad >>filetolock
Bloquear um arquivo sem ferramentas de terceiros , nenhuma alteração no arquivo sendo bloqueado e o arquivo nem mesmo pode ser copiado
Esse script do PowerShell é uma citação de uma resposta a uma pergunta semelhante.
Se você achar que é útil, poderá votar novamente na resposta original e não nesta postagem.
fonte
[void](Read-Host 'Press Enter to continue')
vez de$host.UI.RawUI.ReadKey(...)
como ReadKey não é suportado no pseudo-console no Powershell ISE.Abra-o com o MS-Excel ... este aplicativo bloqueia um arquivo enquanto está aberto.
fonte
O FileLocker é uma ferramenta de linha de comando freeware / open source.
Uso:
fonte
Como não posso escrever comentários, adiciono minhas informações desta maneira:
https://stackoverflow.com/questions/5860542/how-can-i-simulate-a-locked-file-one-which-has-a-write-lock
EDIT: resumo da outra pergunta:
comando de pausa:
( >&2 pause ) >> file2lock.txt
Programas MS como bloqueios de word ou excel também (funciona para arquivos de texto)
Programaticamente usar
LockFileEx
(API do Windows) comLOCKFILE_EXCLUSIVE_LOCK
eLOCKFILE_FAIL_IMMEDIATELY
fonte
Aqui está como eu replico o comportamento do usuário de um arquivo bloqueado para teste de bug.
Dim s As New StreamReader ("C: \ test \ sampleFile.txt")
Eu adiciono essa linha ao meu teste de unidade para bloquear o arquivo e, em seguida, execute o teste no modo de depuração para replicar o mau comportamento quando um determinado arquivo estiver bloqueado.
Ainda não sei como meus usuários de negócios estão bloqueando o arquivo fornecido. Como você disse, o bloco de notas não pode bloqueá-lo exclusivamente.
Felizmente, declarar um leitor de stream bloqueia um arquivo exclusivamente, a menos que você especifique o contrário.
fonte
Segundo a solução com marsh-wiggle. Aqui está a minha versão do script:
Você pode chamá-lo do cmd assim:
fonte
Para testar o "acesso negado" ao Robocopy ERROR, acabei de remover o acesso de leitura para o usuário. Isso funcionaria?
Para o Windows 10, isso pode ser feito facilmente na linha de comando
No Windows 7, você pode usar as propriedades de segurança do File Explorer.
fonte
Substitua 'Your-Password-Here' por sua senha e salve este script como Locker.bat
Quando você executa o arquivo em lotes, ele apresenta o prompt 'Tem certeza de que deseja bloquear a pasta (S / N)'; digite Y e pressione enter e a pasta será bloqueada.
Execute o arquivo em lotes novamente e digite sua senha e a pasta e todos os seus arquivos serão desbloqueados novamente.
fonte