Back to Top

プログラムの覚書

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))

 

VB.NET パスの判断をする

ファイルパスの判断を記載します。

絶対パスか相対パスかを判断する

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

If System.IO.Path.IsPathRooted(sFilePath) Then
    MessageBox.Show("絶対パス")
Else
    MessageBox.Show("相対パス")
End If

 

拡張子を含むか判断する

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

If System.IO.Path.HasExtension(sFilePath) Then
    MessageBox.Show("含んでいます")
Else
    MessageBox.Show("含んでいません")
End If

 

Posted in パス | Leave a reply