ファイルの更新日付を変更するVBScript

作り方

1.以下のテキストをコピーしてメモ帳に貼り付ける。

If WScript.Arguments.Length = 0 Then
    sMsg = "更新日時を変更したいファイルをドラッグし、このアイコンにドロップしてください"
    MsgBox sMsg, vbOKOnly + vbInformation, "使い方"
Else
    sFile = WScript.Arguments.Item(0)
    Set oFS = CreateObject("Scripting.FileSystemObject")
    If oFS.FileExists(sFile) Then
        Set oFile = oFS.GetFile(sFile)
        sPath = oFile.ParentFolder & "\"
        sFileName = oFile.Name
        sCurrentDateTime = oFile.DateLastModified
        sNewDateTime = InputBox("更新日時をいつに変更しますか?", sFileName, sCurrentDateTime)
        If Len(sNewDateTime) > 0 Then
            If IsDate(sNewDateTime) Then
                sMsg = sFileName & " の更新日時を変更します" & vbCrLf & vbCrLf
                sMsg = sMsg & "  変更前: " & sCurrentDateTime & vbCrLf
                sMsg = sMsg & "  変更後: " & sNewDateTime & vbCrLf & vbCrLf
                sMsg = sMsg & "よろしいですか?"
                If MsgBox(sMsg, vbYesNo + vbQuestion, "確認") = vbYes Then
                    Set oShell = CreateObject("Shell.Application")
                    Set oFolder = oShell.Namespace(sPath)
                    Set oFolderItem = oFolder.ParseName(sFileName)
                    oFolderItem.ModifyDate = sNewDateTime
                End If
            Else
                MsgBox "不正な日付です", vbOKOnly + vbInformation, "エラー"
            End If
        End If
    Else
        MsgBox "これはファイルではありません", vbOKOnly + vbInformation, "エラー"
    End If
End If

2.適当な名前(下記の例では「ファイルの更新日時変更」)に拡張子「.vbs」をつけて保存する。

使い方

1.更新日時を変更したいファイルをドラッグし、vbsファイルのアイコンにドロップする。

2.日時を入力するダイアログが表示されるので、変更後の日時を入力する。

3.確認のダイアログが表示されるので、「はい」を押す。

4.ファイルの更新日時が変更される。


WindowsXP(WSH5.8)で動作を確認しています。