ファイル関連:ファイルのタイムスタンプの変更(SetCreationTime,SetLastWriteTime,SetLastAccessTime)

VB2008でファイルに関する日時を変更する実行例サンプルです。

ファイル関連へ



ファイルの作成日時の変更は、SetCreationTime(ファイル名)で取得します。

ファイルの更新日時の変更は、SetLastWriteTime(ファイル名)で取得します。

ファイルのアクセス日時の変更は、SetLastAccessTime(ファイル名)で取得します。

使用するには、Imports System.IO を宣言しておく必要があります。

■実行画面
「タイムスタンプの変更」ボタンをクリックすると、テキストボックスに「ファイル名」と
変更前の「作成日時」「更新日時」「アクセス日時」と
変更後の「作成日時」「更新日時」「アクセス日時」が表示されます
タイムスタンプの設定フォーム

■実行コード

Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ofd As New OpenFileDialog
Dim sfina As String
Dim s As String

With ofd
'タイトル
.Title = "タイムスタンプを変更するファイルを選択してください"
'初期のファイル名
.FileName = ""
'フィルターの何番目を既定値にするか
.FilterIndex = 1
'フィルター:ファイルの種類
.Filter = "画像ファイル名(*.BMP;*.JPG;*.PNG)|*.BMP;*.JPG;*.PNG"
'初期のフォルダー
.InitialDirectory = "C:\Program Files\Microsoft Visual Studio 9.0\"
End With

sfina = ""
'「ファイルを開く」ダイアログを表示。
If ofd.ShowDialog() = DialogResult.OK Then
'選択されたファイル名を表示
sfina = ofd.FileName
End If
ofd.Dispose()

If sfina <> "" Then
s = s + "ファイル名:"
s = s + sfina + vbNewLine + vbNewLine

s = s + "■現在のタイムスタンプ" + vbNewLine + vbNewLine
s = s + "ファイルの作成日時:"
s = s + File.GetCreationTime(sfina) + vbNewLine + vbNewLine

s = s + "ファイルの更新日時:"
s = s + File.GetLastWriteTime(sfina) + vbNewLine + vbNewLine

s = s + "ファイルのアクセス日時:"
s = s + File.GetLastAccessTime(sfina) + vbNewLine

'ファイルの作成日時を変更
File.SetCreationTime(sfina, "2008/12/01 10:15:01")
'ファイルの更新日時を変更
File.SetLastWriteTime(sfina, "2008/12/02 10:15:02")
'ファイルのアクセス日時を変更
File.SetLastAccessTime(sfina, "2008/12/03 10:15:03")

s = s + "■変更後のタイムスタンプ" + vbNewLine + vbNewLine
s = s + "ファイルの作成日時:"
s = s + File.GetCreationTime(sfina) + vbNewLine + vbNewLine

s = s + "ファイルの更新日時:"
s = s + File.GetLastWriteTime(sfina) + vbNewLine + vbNewLine

s = s + "ファイルのアクセス日時:"
s = s + File.GetLastAccessTime(sfina) + vbNewLine

TextBox1.Text = s

End If

End Sub
End Class


Visual Basic 2008 Express Edition実践入門