2012-02-06 9 views
5

Quando si utilizza il metodo File.Copy() il file viene copiato nella sua nuova directory, tuttavia perde le autorizzazioni originali.Copia un file con le autorizzazioni originali

C'è un modo per copiare un file in modo che non perda le autorizzazioni?

+3

Il file non eredita i genitori autorizzazioni di cartelle è? – ThePower

+1

Se utilizzo File.Copy() nessuna delle autorizzazioni è applicata al nuovo file. L'utilizzo di [soluzione di Alex] (http://stackoverflow.com/a/9164000/1192774) funziona. – WeaslB

risposta

9

I belive si può fare qualcosa di simile:

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

Funziona come un fascino! Grazie! – WeaslB

+0

Grazie per le informazioni di cui sopra. –

Problemi correlati