1

別のプロジェクトの場合、私のコードはファイルを読み取り、古いファイルを破棄して新しいファイルをビルドします。ただし、古いファイルから FileSecurity AccessControl を取得して新しいファイルに適用する必要があります。私はC#にかなり慣れていないので、以前にFileSecurityを使用したことがありません。以下は私が思いついたものです。エラーは発生しませんが、動作していないようです。

public static void Main()
{
    try
    {
        string fileName = "test.txt";
        FileInfo fi = new FileInfo(fileName);
        FileSecurity fs = fi.GetAccessControl();

        Console.WriteLine("Got perms");
        Console.Read();

        Console.WriteLine("Adding access control to " + fileName);

        fi.SetAccessControl(fs);

        Console.WriteLine("Done.");
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
    }
    Console.Read();
}

私がテストするために行うことは、ユーザーがファイルを完全に制御できるように設定することです。プログラムを前半まで実行し、ファイルを削除して、完全な制御なしで再度作成し、プログラムを終了させます。ただし、ファイルのセキュリティ タブに移動すると、フル コントロールが表示されません。古いファイルを削除した後、新しい FileInfo オブジェクトを作成しようとしましたが、それもうまくいきませんでした。

どんな提案でも最も役に立ちます

4

1 に答える 1