ファイル名の末尾に更新日時を付与するVBScript
エビデンスの画像ファイルに日時を付与したくて作ったもの。
以下のコードを拡張子vbsにして保存。
vbsファイルにリネーム対象のファイル(複数可)をD&Dする。
'---------------------------------------- ' ファイル名の末尾に更新日時を付与する '---------------------------------------- Option Explicit ' 引数確認 if WScript.Arguments.Count < 1 then WScript.Quit end if ' FileSystemObject生成 Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Dim targetPath, changePath For Each targetPath In WScript.Arguments ' パスがファイルで、存在する場合に処理 if fso.FileExists(targetPath) then ' 更新日付を付与したパスを取得 changePath = createNewFilePath(targetPath) ' リネーム Call fso.MoveFile(targetPath, changePath) ' コピー 'Call fso.CopyFile(targetPath, changePath) end if Next '------------------------------ ' 更新日付を付与したパスを生成 '------------------------------ Function createNewFilePath(targetPath) Dim fo Set fo = fso.GetFile(targetPath) ' ファイル更新日時取得 + 不要文字削除 Dim lastModified lastModified = fo.DateLastModified lastModified = Replace(lastModified, "/", "") lastModified = Replace(lastModified, ":", "") lastModified = Replace(lastModified, " ", "_") ' ファイルパス分割 Dim targetDir Dim targetBaseName Dim targetExt targetDir = fso.GetParentFolderName(targetPath) targetBaseName = fso.GetBaseName(targetPath) targetExt = fso.GetExtensionName(targetPath) ' 変更後ファイルパス生成し、返却 createNewFilePath = targetDir & "\" & targetBaseName & "_" & lastModified & "." & targetExt End Function