Back to Top

プログラムの覚書

Category: VB.NET

VB.NET

VB.NET フォルダ内のフォルダ・ファイル名を取得する

指定ドライブまたはフォルダ内の指定ファイルおよびフォルダを取得します。

フォルダ内のファイルを取得する

Dim dir As String = "C:\work"

'全てのファイルを取得
For Each filename As String In System.IO.Directory.GetFiles(dir)
    MessageBox.Show(filename)
Next
  
'ワイルドカード指定でファイルを取得
For Each filename As String In System.IO.Directory.GetFiles(dir, "*.txt")
    MessageBox.Show(filename)
Next

 

フォルダ内のフォルダを取得する

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

For Each spath As String In System.IO.Directory.GetDirectories(sDirPath, "*")
    MessageBox.Show(spath)
Next

 

フォルダ内のディレクトリとファイルを取得する

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

For Each spath As String In System.IO.Directory.GetFileSystemEntries(sDirPath, "*")
    MessageBox.Show(spath)
Next

 

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