スポンサーリンク

ファイル名末尾に日時コメント(_YYYYMMDD_HHMM_コメント)を付与するVBScript

 

「ファイル1.xlsx」というファイルを別のバックアップフォルダにコピーして、

「ファイル1_20210327_1839_〇〇.xlsx」という名前にすることがよくあります。「_20210327_1839」は年月日、時分です。〇〇はコメント。

 

私は小心者なのでしょっちゅうバックアップを取るのです。

Ctrl + Sをしばらく押してなくて、エクセルがフリーズしてファイルが復旧できなくなった、新方式を試していたがやっぱり過去のやり方でないとだめだった、とかいろんなことが発生しますので。

 

■問題点

 ファイルをバックアップして、日時を手動入力するのが毎回めんどい

 

■記事を読む価値

 ファイル名に日時をつけるのが超楽になる。

 

■VBS

------------------------------------------------------------------------

Option Explicit

 

Dim objFileSys

Dim strDate

Dim sPath

Dim oFile

Dim Ary

Dim sExt    '拡張子

Dim sNewName

Dim sComment

 

Set objFileSys = CreateObject("Scripting.FileSystemObject")

 

sPath = Wscript.Arguments(0)     'ドロップしたファイルのパス

'日時を取得(YYYYMMDD_hhmmss)

strDate = replace(replace(replace(now,"/",""),":","")," ","_")

 

'10時前の場合、0を付与する

If len(strDate) = 14 Then

    strDate = Left(strDate , 9) & "0" & right(strDate , 5)

End If

strDate = Left(strDate,13)      'YYYYMMDD_hhmmにする

 

'●コメント

sComment = InputBox("コメントをどうぞ","")

If sComment <> "" Then

    sComment = "_" & sComment

End If

 

'●拡張子を取得

Ary = Split(sPath , ".")

sExt = Ary(Ubound(Ary))

 

'●ファイルを取得

Set oFile = objFileSys.GetFile(sPath)

 

'●新ファイル名

sNewName = Replace(oFile.Name , "." & sExt , "_" & strDate & sComment & "." & sExt)

 

'●ファイル名変更

oFile.Name = sNewName

 

'後片付け

Set objFileSys = Nothing

Set oFile = Nothing

------------------------------------------------------------------------

 

■使い方

 このVBScriptを「ファイル名に日時付与.vbs」という名前で保存します。

 

■実行方法①

ファイルをこの「ファイル名に日時付与.vbs」にドラッグ&ドロップ

 f:id:engineer-kiyo:20210327185849p:plain

 

■実行方法②

a. 以下のフォルダに「ファイル名に日時付与.vbs」そのものか、ショートカットを置いておきます。

 C:\Users\[USERID]\AppData\Roaming\Microsoft\Windows\SendTo

b. 日時をつけたいファイルを右クリックし、「送る」-「ファイル名に日時付与.vbs」を選択

f:id:engineer-kiyo:20210327190347p:plain

 

以下のダイアログが表示されるので、コメントが何かあれば入れOKボタンを押す。

※何も入れなくてもよい。キャンセルボタン押下は空白のままOKボタン押下と同じ動作です。

f:id:engineer-kiyo:20210327185209p:plain

 

 ファイル名に _年月日_時分_コメント が付与されます。

f:id:engineer-kiyo:20210327191355p:plain

 

私は実行方法②の方でよく使っています。