訪問して頂きありがとうございます。まさふくろーです。
この記事では、ファイルの属性を変更する方法をご紹介します。
ファイルの属性を変更する
 
定数 
値 
内容 
 
Archive 
32 
ファイルが前回のバックアップ以降に変更されているか。 
 
Directory 
16 
ディレクトリまたはフォルダ。 
 
Hidden 
2 
隠しファイル 
 
Normal 
0 
標準のファイル。他の属性を持たない。 
 
ReadOnly 
1  
読み取り専用  
 
System 
4 
システムファイル 
IO.File.SetAttributes(ファイルパス, 属性)
| 補足 | 
| 引数が指定されていない場合は、例外ArgumentExceptionが発生します。 | 
| 指定したファイルが見つからない場合は、例外FileNotFoundExceptionが発生します。 | 
サンプルプログラム
1つのファイルの属性を「読み取り専用」と「隠しファイル」に変更する

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | 
						Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         Dim FilePath As String = TextBox1.Text         Try             IO.File.SetAttributes(FilePath, IO.FileAttributes.ReadOnly + IO.FileAttributes.Hidden)             Label1.Text = FilePath & "の属性を読み取り専用と隠しファイルに設定しました。"         Catch ex As ArgumentException             Label1.Text = "パスが指定されていません。"         Catch ex As IO.FileNotFoundException             Label1.Text = "ファイルが見つかりません。"         End Try     End Sub End Class  | 
					
| 2 | 「属性を変更する」ボタンクリック時に以下処理を行う。 | 
| 4 | ファイルパスを、文字列型の変数「FilePath」に代入。 | 
| 8 | ファイルの属性を変更する処理を実行する。 | 
| 10 | 正常に処理が実行された場合、正常終了のメッセージをラベルに表示する。 | 
| 12 | ファイルのパスが指定されていない場合、 | 
| 14 | 「パスが指定されていません。」のメッセージをラベルに表示する。 | 
| 16 | 指定したファイルが見つからない場合、 | 
| 18 | 「ファイルが見つかりません。」のメッセージをラベルに表示する。 | 
フォルダ内に存在する、すべてのファイルの属性を「標準ファイル」に変更する

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  | 
						Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         Dim FolderPath As String = TextBox1.Text         Dim str As String = String.Empty         Try             For Each FName In IO.Directory.GetFiles(FolderPath)                 IO.File.SetAttributes(FName, IO.FileAttributes.Normal)                 str = str & FName & ControlChars.NewLine             Next             Label1.Text = str & "の属性を標準ファイルに設定しました。"         Catch ex As ArgumentException             Label1.Text = "パスが指定されていません。"         Catch ex As IO.IOException             Label1.Text = Err.Description         End Try     End Sub End Class  | 
					
| 2 | 「属性を変更する」ボタンクリック時に以下処理を行う。 | 
| 4 | フォルダパスを、文字列型の変数「FolderPath」に代入。 | 
| 9 | 指定したフォルダに存在するファイルの数だけ以下処理を繰り返す。 | 
| 11 | ファイルの属性を「標準ファイル」に変更する。 | 
| 13 | 取得したファイル名を、文字列型の変数「Str」に改行付きで追加していく。 | 
| 17 | 正常終了のメッセージをラベルに表示する。 | 
| 19 | フォルダのパスが指定されていない場合、 | 
| 21 | 「パスが指定されていません。」のメッセージをラベルに表示する。 | 
| 23 | 指定したフォルダが見つからない場合、 | 
| 25 | エラー内容を取得し、ラベルに表示する。 | 
関連記事
最後まで読んでいただき、ありがとうございました!
  本のまとめ関連記事はこちら

