仕事でファイルを保存する際に名前の頭に日付を入力する方も多いと思います。それが複数のファイルになる場合など、入力するのが面倒くさいことがあるので、日付を自動で追加するVBScriptを作成してみました。
ファイルに日付を追加したいファイルをドラッグ&ドロップすると、ファイル名の頭に「yymmdd」形式(例:2023年11月11日→231111)で今日の日付が追加されます。
※MicrosoftがVBScriptを非推奨にしているようなので、いつまで使えるかはわかりません。
- テキストファイルに次のコードを貼り付けて、拡張子を「.vbs」にして保存します(ファイル名は任意のもので大丈夫です。)。
- 保存したファイルに日付を追加したいファイルをドラッグ&ドロップしたら日付が自動で追加されます(複数ファイルOK)。ちなみに、西暦を「2023」にしたい場合は、7行目の「getDate = Mid(getDate, 3, 6)」を削除してください。
Option Explicit
Dim getDate
'yyyymmdd形式で日付を取得
getDate = Replace(Left(Now(), 10), "/", "")
'yymmdd形式に変更
getDate = Mid(getDate, 3, 6)
' ドラッグアンドドロップされたデータを格納する変数
Dim args
Set args = WScript.Arguments
' ファイルシステムオブジェクトの作成
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
' ファイルのフルパス、パス、ファイル名、拡張子
Dim fullpath, filepath, filename, ext
For Each fullpath In args
' 拡張子の取得
ext = fso.GetExtensionName(fullpath)
' ファイル名の取得
filename = fso.GetFileName(fullpath)
' ファイル名の生成
filename = Replace(filename, "." & ext, "")
filename = getDate & "_" & filename & "." & ext
' ファイル名の変更
Set file = fso.GetFile(fullpath)
file.Name = filename
Next
' オブジェクトの破棄
Set file = Nothing
Set fso = Nothing
<追加前>
<追加後>
<参考にさせていただいたサイト>
https://syutaku.blog/vbscript-script-replace-filename/
https://bayashita.com/p/entry/show/39