VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ファイル関係のメニュー
1.ファイルの情報(属性・タイムスタンプ・サイズ)を取得・設定する
2.ファイルのコピー・移動・削除・ファイル名の変更
3.ファイルに関するパス操作色々
4.指定のフォルダー内のファイルをすべて列挙する
5.指定フォルダー内の全ファイル数・サブフォルダー数を取得する
6.指定フォルダー以下のサブフォルダー内を含めた総ファイル数を取得
7.指定フォルダー以下のサブフォルダー内含めた総ファイルサイズを取得する
8.指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載のファイルに関するサンプル


1.ファイルの情報(属性・タイムスタンプ・サイズ)を取得・設定する(32_Fil_01) (旧、SampleNo.019/021)
1.ファイルの属性を取得及び設定・解除する
2.ファイルのタイムスタンプ(作成日時/更新日時/アクセス日時)を取得する
3.ファイルのタイムスタンプ(作成日時/更新日時/アクセス日時)を設定する
4.ファイルサイズを取得する
5.ファイルの有無を確認する
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.ファイルの属性を取得及び設定・解除する

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'ファイルの属性を取得及び設定・解除する
    Dim myAttr As FileAttributes
    Dim fileName As String = "../../../data/test.txt"

    'ファイル属性を取得する
    myAttr = File.GetAttributes(fileName)
    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)

    'ファイルの属性を読み取り専用に設定する
    File.SetAttributes(fileName, File.GetAttributes(fileName) Or FileAttributes.ReadOnly)
    'ファイル属性を取得する
    myAttr = File.GetAttributes(fileName)
    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)

    '現在のファイル属性から読み取り専用属性だけを解除する
    If (myAttr And System.IO.FileAttributes.ReadOnly) > 0 Then
        '現在の属性から読み取り属性を除去する
        System.IO.File.SetAttributes(fileName, myAttr Xor System.IO.FileAttributes.ReadOnly)
    End If
    'ファイル属性を取得する
    myAttr = File.GetAttributes(fileName)
    Console.WriteLine("{0} の属性は {1} です。", fileName, myAttr)

'上記実行結果
'../../../data/test.txt の属性は Archive です。
'../../../data/test.txt の属性は ReadOnly, Archive です。
'../../../data/test.txt の属性は Archive です。

End Sub

このページのトップへ移動します。 2.ファイルのタイムスタンプ(作成日時/更新日時/アクセス日時)を取得する

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'ファイルのタイムスタンプを取得する
    Dim fileName As String = "../../../data/test.txt"
    Dim dt As DateTime

    'ファイルの作成日時を取得する
    'File.GetCreationTime メソッド
    '指定したファイルまたはディレクトリの作成日時を返します
    dt = File.GetCreationTime(fileName)
    Console.WriteLine("{0} の作成日時は {1} です。", fileName, dt)

    'ファイルの更新日時を取得する()
    'File.GetLastWriteTime メソッド
    '指定したファイルまたはディレクトリに最後に書き込んだ日付と時刻を返します。
    dt = File.GetLastWriteTime(fileName)
    Console.WriteLine("{0} の更新日時は {1} です。", fileName, dt)

    'ファイルのアクセス日時を取得する
    'File.GetLastAccessTime メソッド
    '指定したファイルまたはディレクトリに最後にアクセスした日付と時刻を返します。
    dt = File.GetLastAccessTime(fileName)
    Console.WriteLine("{0} のアクセス日時は {1} です。", fileName, dt)

'上記実行結果
'../../../data/test.txt の作成日時は 2014/05/27 08:17:42 です。
'../../../data/test.txt の更新日時は 2012/03/27 11:00:36 です。
'../../../data/test.txt のアクセス日時は 2014/05/27 08:17:42 です。

End Sub

このページのトップへ移動します。 3.ファイルのタイムスタンプ(作成日時/更新日時/アクセス日時)を設定する

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'ファイルのタイムスタンプを設定する
    Dim fileName As String = "../../../data/test.txt"
    Dim dt As DateTime

    'ファイルの作成日時を設定する
    'File.SetCreationTime メソッド
    'ファイルが作成された日付と時刻を設定します。
    File.SetCreationTime(fileName, DateTime.Now)
    dt = File.GetCreationTime(fileName)
    Console.WriteLine("{0} の作成日時は {1} です。", fileName, dt)

    'ファイルの更新日時を設定する
    'File.SetLastWriteTime メソッド
    '指定したファイルに最後に書き込んだ日付と時刻を設定します。
    File.SetLastWriteTime(fileName, DateTime.Now)
    dt = File.GetLastWriteTime(fileName)
    Console.WriteLine("{0} の更新日時は {1} です。", fileName, dt)

    'ファイルのアクセス日時を設定する
    'File.SetLastAccessTime メソッド
    '指定したファイルに最後にアクセスした日付と時刻を設定します。
    File.SetLastAccessTime(fileName, DateTime.Now)
    dt = File.GetLastAccessTime(fileName)
    Console.WriteLine("{0} のアクセス日時は {1} です。", fileName, dt)

'上記実行結果
'../../../data/test.txt の作成日時は 2014/06/15 05:32:36 です。
'../../../data/test.txt の更新日時は 2014/06/15 05:32:36 です。
'../../../data/test.txt のアクセス日時は 2014/06/15 05:32:36 です。

End Sub

このページのトップへ移動します。 4.ファイルサイズを取得する

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'ファイルサイズを取得する
    'FileInfo.Length プロパティ
    '現在のファイルのサイズを取得します。
    Dim fileName As String = "../../../data/test.txt"
    Dim fs As Long = fileName.Length
    Console.WriteLine("{0} のファイルサイズは {1} バイトです。", fileName, fs)

'上記実行結果
'../../../data/test.txt のファイルサイズは 22 バイトです。

End Sub

このページのトップへ移動します。 5.ファイルの有無を確認する

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
'ファイルの有無を確認する
    'File.Exists メソッド
    '指定したファイルが存在するかどうかを確認します
    Dim fn As String = "c:\Test.txt"
    If System.IO.File.Exists(fn) Then
        MessageBox.Show("ファイル[" & fn & "]は存在します。")
    Else
        MessageBox.Show("ファイル[" & fn & "]は存在しません。")
    End If

    If System.IO.File.Exists("c:\hogehoge.txt") Then
        MessageBox.Show("ファイル[" & fn & "]は存在します。")
    Else
        MessageBox.Show("ファイル[c:\hogehoge.txt]は存在しません。")
    End If

    '下記のように間違って記入しても有と認識される
    If System.IO.File.Exists("c: \Test.txt") Then
        MessageBox.Show("ファイル[c: \Test.txt]は存在します。")
    Else
        MessageBox.Show("ファイル[c: \Test.txt]は存在しません。")
    End If

    'こちらの場合は、存在しないとなる。(Win32 API関数の FindFirstFile でも同様)
    Dim Fso As New Scripting.FileSystemObject
    If Fso.FileExists("c: \Test.txt") Then
        MessageBox.Show("ファイル[c: \Test.txt]は存在します。")
    Else
        MessageBox.Show("ファイル[c: \Test.txt]は存在しません。")
    End If

    '因みに下記の設定でもエラー無く実行できる
    Dim fileName As String = "c: \Test.txt"
    Dim fs As Long = fileName.Length
    MessageBox.Show(fs.ToString)

End Sub

このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。