ファイルの属性を取得及び設定する (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 |