2012-02-06 32 views
5

Al usar el método File.Copy() el archivo se copia en su nuevo directorio sin embargo, pierde sus permisos originales.Copie un archivo con sus permisos originales

¿Hay alguna manera de copiar un archivo para que no pierda los permisos?

+3

El archivo no se hereda de los padres de carpetas de permisos es? – ThePower

+1

Si uso File.Copy(), ninguno de los permisos se aplica al nuevo archivo. El uso de [la solución de Alex] (http://stackoverflow.com/a/9164000/1192774) funciona. – WeaslB

Respuesta

9

Me creer que puede hacer algo como esto:

File.Copy(...) 
FileInfo file1 = new FileInfo(@"c:\test.txt"); 
FileInfo file2 = new FileInfo(@"c:\test2.txt"); 
FileSecurity ac1 = file1.GetAccessControl(); 
ac1.SetAccessRuleProtection(true, true); 
file2.SetAccessControl(ac1); 
+0

¡Funciona como un encanto! ¡Gracias! – WeaslB

+0

Gracias por la información anterior. –

Cuestiones relacionadas