8

File.Copy() メソッドを使用すると、ファイルは新しいディレクトリにコピーされますが、元の権限は失われます。

アクセス許可を失わないようにファイルをコピーする方法はありますか?

4

2 に答える 2

15

次のようなことができると思います:

const string sourcePath = @"c:\test.txt";
const string destinationPath = @"c:\test2.txt"

File.Copy(sourcePath, destinationPath);

FileInfo sourceFileInfo = new FileInfo(sourcePath);
FileInfo destinationFileInfo = new FileInfo(destinationPath);

FileSecurity sourceFileSecurity = sourceFileInfo.GetAccessControl();
sourceFileSecurity.SetAccessRuleProtection(true, true);
destinationFileInfo.SetAccessControl(sourceFileSecurity);
于 2012-02-06T17:01:49.767 に答える