Back to Top

Daily Archives: 2016年3月20日

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 フォルダ属性の取得や変更をする

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

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

基本的にフォルダ属性は、ビット演算をします。

フォルダの属性を取得する

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

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

If (uAtr And System.IO.FileAttributes.Directory) = System.IO.FileAttributes.Directory Then
    MessageBox.Show("ディレクトリです")
End If

'隠しファイル属性があるか判断する
If (uAtr And System.IO.FileAttributes.Hidden) = System.IO.FileAttributes.Hidden Then
    MessageBox.Show("隠しファイル属性あり")
End If

 

フォルダ属性を追加および削除する

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

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

'隠しファイル属性を追加する
System.IO.File.SetAttributes(sFilePath, uAtr Or System.IO.FileAttributes.Hidden)

'隠しファイル属性を消す
System.IO.File.SetAttributes(sFilePath, uAtr And (Not System.IO.FileAttributes.Hidden))