ファイルの内容を置き換え、アクセス権を変更する必要があります。私は、ファイルを読んで削除し、更新された内容で新しいファイルを作成することでそれをやっています。ファイルからファイルへのアクセス許可をコピーする
私は次があります。
static void Main()
{
var file = new FileInfo(@"C:\temp\test.txt");
var file1Security = file.GetAccessControl(AccessControlSections.All);
string s;
using (var stream = file.OpenText())
{
s = stream.ReadToEnd();
}
s += "\n" + DateTime.Now;
file.Delete();
using (var stream = file.OpenWrite())
{
using (var writer = new StreamWriter(stream))
{
writer.Write(s);
}
}
file.SetAccessControl(file1Security);
}
しかし、これは新しいファイルにユーザーの権限をコピーしません。
ファイルの内容を置き換え、そのユーザーのアクセス許可を保持するにはどうすればよいですか?
がドキュメントに注釈セクションを参照してください - それはあなたが1つのファイルからファイルセキュリティをコピーすることはできません説明します別のものはそれを行う方法を示すために続けます。 https://msdn.microsoft.com/en-us/library/system.io.file.setaccesscontrol(v=vs.110).aspx – PaulF
私はすでにあなたに答えがあるのを見ていますが、既存のファイルを削除して新しいファイルを作成するのではなく、既存のファイルを書き直すことが効率的で安全です。 –
@HarryJohnstonそれは私が最後にやったことですが、ファイルを切り捨てることができるという事実を忘れてしまいました! – BanksySan