Back to Top

プログラムの覚書

VB.NET フォルダの日付を取得・変更する

フォルダの日付を取得や変更をする方法を記載します。

取得・変更には、System.IO.Directoryを使用します。

フォルダの日付を取得する

Directory クラスを使用して、フォルダ日付・時刻を取得する

Dim sDirPath As String = "C:\work\"

'作成日時を取得する
Dim dCreate As DateTime = System.IO.Directory.GetCreationTime(sDirPath)

'更新日時を取得する
Dim dUpdate As DateTime = System.IO.Directory.GetLastWriteTime(sDirPath)

'アクセス日時を取得する
Dim dAccess As DateTime = System.IO.Directory.GetLastAccessTime(sDirPath)

 

FileInfo クラスを使用して、フォルダの日付・時刻を取得する

Dim sDirPath As String = "C:\work"

Dim fInfo As New System.IO.FileInfo(sFilePath)
'または
Dim fInfo As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(sFilePath)
 
'作成日時を取得する
Dim dCreate As DateTime = fInfo.CreationTime
 
'更新日時を取得する
Dim dUpdate As DateTime = fInfo.LastWriteTime
 
'アクセス日時を取得する
Dim dAccess As DateTime = fInfo.LastAccessTime

・FileInfoでは、ファイルでもフォルダでも同じ方法で取得出来ます。

 

フォルダの日付を変更する

Directory クラスを使用して、フォルダ日付を変更する

Dim sDirPath As String = "C:\work\aaa"

'作成日時を変更する
System.IO.Directory.SetCreationTime(sDirPath, DateTime.Now)

'更新日時を変更する
System.IO.Directory.SetLastWriteTime(sDirPath, DateTime.Now)

'アクセス日時を変更する
System.IO.Directory.SetLastAccessTime(sDirPath, DateTime.Now)

※C:¥は、アクセス権でエラーになる事がある。

 

VB.NET ファイルの属性を取得・変更する

ファイル属性の取得及び変更をする方法を記載します。

ファイル属性の変更は、File.GetAttributes メソッドを使用します。

ファイル属性は System.IO.FileAttributesに、列挙型(enum)で宣言されています。

基本的にファイル属性は、ビット演算をしています。

ファイルの属性を取得する

Dim sFilePath As String = "c:\work\myfile.txt"		
		
' ファイルの属性を取得する
Dim uAtr As System.IO.FileAttributes = System.IO.File.GetAttributes(sFilePath)

'読み取り専用属性があるかどうか判断する
If (uAtr And System.IO.FileAttributes.ReadOnly) = System.IO.FileAttributes.ReadOnly Then
    MessageBox.Show("読み取り専用")
End If

 

ファイル属性を追加する

Dim sFilePath As String = "c:\work\myfile.txt"

'ファイルの属性を取得する
Dim uAtr As System.IO.FileAttributes = System.IO.File.GetAttributes(sFilePath)

'読み取り専用属性を追加する
System.IO.File.SetAttributes(sFilePath, uAtr Or System.IO.FileAttributes.ReadOnly)

・属性を変更する際は、一度ファイル属性を所得して、属性をand or で削除・追加をして書き戻します。

 

※System.IO.FileInfoクラスでも同じことが出来ます。