玄関へお回り下さい。
ファイルの属性を取得及び設定する (3個)        (SNo.019)

1.ファイルの属性を取得する
2.現在のファイル属性に読み取り専用属性を追加する
3.現在のファイル属性から読み取り専用属性だけを解除する
使用コントロール Button1  〜 Button3
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
Imports System.IO  をモジュールの先頭に記述しておいて下さい。 
1.ファイルの属性を取得する

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'ファイルの属性を取得する
'Imports System.IO  をモジュールの先頭に記述しておいて下さい。
    Dim myAttr As FileAttributes
    Dim fileName As String = "../../test.txt"

    'ファイル属性を取得する
    myAttr = File.GetAttributes(fileName)

    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)
    '結果  ../../test.txt の属性は Archive です。

    MessageBox.Show(fileName & " の属性は " & myAttr & " です。")
    '結果  ../../test.txt の属性は 32 です。
    MessageBox.Show(fileName & " の属性は " & myAttr.ToString & " です。")
    '結果  ../../test.txt の属性は Archive です。
End Sub
'File.GetAttributes メソッド
'パス上のファイルの FileAttributes を取得します。

2.現在のファイル属性に読み取り専用属性を追加する

Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'現在のファイル属性に読み取り専用属性を追加する
'Imports System.IO  をモジュールの先頭に記述しておいて下さい。
    Dim myAttr As System.IO.FileAttributes
    Dim fileName As String = "../../test.txt"

    'ファイルの属性を読み取り専用に設定する
    File.SetAttributes(fileName, File.GetAttributes(fileName) Or FileAttributes.ReadOnly)

    '確認して見る
    myAttr = File.GetAttributes(fileName)
    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)
    '結果  ../../test.txt の属性は ReadOnly, Archive です。
End Sub
'File.SetAttributes メソッド
'指定したパスでファイルの指定された FileAttributes を設定します。

3.現在のファイル属性から読み取り専用属性だけを解除する

Private Sub Button3_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button3.Click
'現在のファイル属性から読み取り専用属性だけを解除する
'Imports System.IO  をモジュールの先頭に記述しておいて下さい。
    Dim myAttr As System.IO.FileAttributes
    Dim fileName As String = "../../test.txt"
    myAttr = File.GetAttributes(fileName)
    If (myAttr And System.IO.FileAttributes.ReadOnly) > 0 Then
        '現在の属性から読み取り属性を除去する
        System.IO.File.SetAttributes(fileName, myAttr Xor System.IO.FileAttributes.ReadOnly)
    End If

    '確認して見る

    myAttr = File.GetAttributes(fileName)
    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)
    '結果  ../../test.txt の属性は Archive です。
End Sub




2004/06/10
2005/09/07


VBレスキュー(花ちゃん)
VB.NET2003  VB2005