Eu gostaria de replicar as permissões de um arquivo para outro. Não quero copiar os dados, apenas as permissões.
Por exemplo, criei um novo arquivo e quero que ele tenha as mesmas permissões que outro arquivo que já existia.
windows-7
file-permissions
acl
TaoTao
fonte
fonte
Respostas:
Você pode fazer isso em algumas etapas com icacls e um editor de texto.
Primeiro você deve salvar as permissões do arquivo original
você precisará editar o
perms.txt
arquivo que você acabou de criar em qualquer pasta na qual você executouicacls
. O arquivo deve ser algo como isto:Você pode ignorar todas as coisas na segunda linha, tudo o que importa é a primeira linha. Mude
file1.bin
para o seu novo nome de arquivofile2.bin
e salve o arquivo.Agora você só precisa restaurar as permissões do arquivo no segundo arquivo. Observe que desta vez não incluímos o nome do arquivo. (Se você receber um erro que diz " Nem todos os privilégios ou grupos mencionados estão atribuídos ao chamador " . Execute o programa novamente em um prompt de comando elevado.)
fonte
File.GetAccessControl()
eFile.SetAccessControl()
Para compor um lote (copiar permissões de segurança de uma subpasta ou de todas as pastas de uma unidade para a mesma restrição de pasta / arquivo em outra unidade), crie um
cpdacls.bat
arquivo , digamos, com este conteúdo:E então execute como
cpdacls.bat e:\ f:\
.Observe que a estrutura da pasta na pasta de destino deve ser a mesma da pasta de origem, tirada da raiz , não dependendo da subpasta que você especificou como pasta de origem.
fonte
A maneira mais fácil, de longe, é usar o PowerShell e executar:
fonte