The project of U-WA-
http://uwa.potetihouse.com/
戻る
TKFP.DLL   プログラミングTips

パーミッションを変更する

 ファイルやフォルダのパーミッションを変更するには、TKFP.IO.FileInfo又はTKFP.IO.DirectoryInfoPermissionプロパティを使用します。 Permissionプロパティに使用するTKFP.IO.Permissionクラスはインスタンスの作成時しか値を変こすることが出来ません。 このため、パーミッションを変更したい場合は、変更後の値をセットしたTKFP.IO.Permissionクラスのインスタンスを新しく作成し、 TKFP.IO.FileInfo又はTKFP.IO.DirectoryInfoPermissionプロパティへ書き込み用にします。 また、TKFP.IO.Permissionで使用するPermissionFlag 列挙体は複数のフラグを持つことが可能なので、 「書き込み/読み出し」の属性を与えたいときは 「Readable | Writable」(VBならば Readable OR Writable )とすることが可能です。
 実際にFTPサーバーへの書き込みが行われるのは、Permissionプロパティへの書き込みが行われるときです。 このため、この動作を行うときはサーバーでの接続が維持されている必要があります。
C#.NET
using TKFP.IO;

private void ChangePermission(FileInfo file)
{
    Permission per;
    // [rwxr--r--]に相当するパーミッション情報を作成します
    per = new Permission(
        PermissionFlag.Readable | PermissionFlag.Writable | PermissionFlag.Executable ,
        PermissionFlag.Readable ,
        PermissionFlag.Readable );
    //ファイルのパーミッションを変更します
    file.Permission = per;

    // [rwx------]に相当するパーミッション情報を作成します
    per = new Permission(
        PermissionFlag.Readable | PermissionFlag.Writable ,
        PermissionFlag.none ,
        PermissionFlag.none);
    //ファイルのパーミッションを変更します
    file.Permission = per;

    //ファイルのパーミッションに実行属性を追加したパーミッション情報を作成します
    per = new Permission(
        file.Permission.User | PermissionFlag.Executable,
        file.Permission.Group | PermissionFlag.Executable,
        file.Permission.Other | PermissionFlag.Executable);
    //ファイルのパーミッションを変更します
    file.Permission = per;

}
VB.NET
Imports TKFP.IO

Sub ChangePermission(ByVal file As FileInfo)

    Dim per As Permission

    ' [rwxr--r--]に相当するパーミッション情報を作成します
    per = New Permission( _
            PermissionFlag.Readable Or PermissionFlag.Writable Or PermissionFlag.Executable, _
            PermissionFlag.Readable, _
            PermissionFlag.Readable)
    'ファイルのパーミッションを変更します
    file.Permission = per

    ' [rwx------]に相当するパーミッション情報を作成します
    per = New Permission( _
            PermissionFlag.Readable Or PermissionFlag.Writable, _
            PermissionFlag.none, _
            PermissionFlag.none)
    'ファイルのパーミッションを変更します
    file.Permission = per

    'ファイルのパーミッションに実行属性を追加したパーミッション情報を作成します
    per = New Permission( _
            file.Permission.User Or PermissionFlag.Executable, _
            file.Permission.Group Or PermissionFlag.Executable, _
            file.Permission.Other Or PermissionFlag.Executable)
    'ファイルのパーミッションを変更します
    file.Permission = per

End Sub
VB.NETのコードはC#.NETを元に「C#.NET to VB.NET Translator」によって作成したものです

トップページへ移動
The project of U-WA-
http://uwa.potetihouse.com/