【vbs】yyyyMMdd形式の日付を変更してみた

VBS VBS

ファイル名にyyyyMMdd形式の日付が含まれているときに、その日付を翌日の日付に変更してみました。

ファイル名の日付変更をワンクリックで実行できたら楽だな」と思ったのがきっかけです。

広告

ファイル名のyyyyMMdd(本日の日付)を翌日の日付に変更する

以下のスクリプトを実行することで、以下の3つの作業を一気に実行します。

  • 1.[hogehoge_yyyyMMdd(本日の日付).txt] を [C:\hogehoge\folder] という特定のフォルダにコピーして格納
  • 2.コピー元のファイルを [hogehoge_yyyyMMdd(明日の日付).txt] に変更
  • 3.最後に「finished」というポップアップを表示

VBSスクリプト

このスクリプトを .vbs ファイルとして実行します。

'1-1.本日日付のファイルを取得
Dim fileName
Dim strDate
Dim fileNameTop :fileNameTop = "hogehoge_"
Dim fileNameSuffix :fileNameSuffix = ".txt"
strDate = Date()
strDate = Replace(strDate, "/", "")
fileName = fileNameTop & strDate & fileNameSuffix

'1-2.本日日付のファイルをコピー
Dim fs
Dim fn
Dim BeforePath :BeforePath = "C:\hogehoge\" & fileName
Dim AfterPath :AfterPath = "C:\hogehoge\folder\"
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
fs.CopyFile BeforePath,AfterPath

'2.本日日付のファイルの日付を変更する
Dim filename_mf
strDate = DateAdd("d", 1, Date())
strDate = Replace(strDate, "/", "")
filename_mf = fileNameTop & strDate & fileNameSuffix
Set fn = fs.GetFile(BeforePath)
fn.Name = filename_mf

'3.「完了しました」とポップアップを表示
msgbox "finished"

スクリプト実行結果

実際に上記の内容を記載したvbsファイルを実行してみます。

vbsファイルの実行はファイルをダブルクリックしても実行可能ですし、以下のようにコマンドプロンプトから実行することも可能です。

C:\Users\xxxxxx\Desktop>test.vbs #これでEnterを押す

実行前の状態

実行前は C:\hogehoge\folder には何も格納されておらず、C:\hogehoge には実行した日付のファイル(2022/09/07)がtxt形式で格納されています。

日付変更スクリプト実行前のフォルダの状態

実行後の状態

今回はコマンドプロンプト上からVBSファイルを実行しました。

実行後、C:\hogehoge\folder日付0907のファイルが格納され、
C:\hogehoge には実行した日付の翌日の日付ファイル(0908が格納されました。

日付変更スクリプト実行後のフォルダの状態

また、以下の通りファイルの中身もコピーされており、
ファイル名だけが違っていることも確認できます。

ファイルの中身もコピーされていることの確認

コメント

タイトルとURLをコピーしました