Não consigo encontrar nada na documentação do 7zip sobre o bloqueio de arquivos. No momento, vou supor que é específico para o algoritmo de compressão RAR.
Quanto ao bloqueio do arquivo, existem algumas opções:
-
Como você afirmou, configurar o atributo de arquivo não impede que 7zip altere seu conteúdo. Citando Wikipedia :
Read-only: When set, indicates that a file should not be altered. Upon opening the file, file system API usually does not grant write permission to the requesting application, unless the application explicitly requests it. Read-only attributes on folders are usually ignored.
-
Você pode usar o comando attrib para alterar o atributo de leitura, mas isso pode estar no ponto anterior .
-
Você pode usar o comando cacls , que funciona no nível do sistema de arquivos e deve ser impermeável para o comportamento do Windows. Um exemplo de uso é o seguinte:
CACLS C:\file.7z /E /G "User_Name":R
Isso dará acesso somente leitura ao arquivo .7z, no nível NTFS. Isso não funcionará se a unidade for FAT32 ou outro formato. Suponho que uma maneira mais fácil de fazer isso seria a partir da guia Segurança nas propriedades do arquivo e dar apenas controle de leitura aos usuários.