2019年02月05日

vbsでechoしたメッセージをbatファイル側でlogファイル出力

vbsではechoの記述のみで、bat側でlogファイル出力をやってもらう方法です。
一年経過したlogは自動で削除します。

sample.bat
rem VBSファイル名(拡張子なし)
set scriptname=sample
rem メモ:VBSの中でWScript.echoを使ってLOG出力する。

rem log出力フォルダ
set logpath=D:\work\

rem 日付決定
set today=%date:~0,4%%date:~5,2%%date:~8,2%

rem 時刻決定(参考)
rem set tm1=%time: =0%
rem set tm2=%tm1:~0,2%%tm1:~3,2%%tm1:~6,2%

rem VBSの起動
CScript %scriptname%.vbs >> %logpath%%scriptname%_%today%.log

rem 一年前の日付取得
set /a lastyear=%today:~0,4%-1
set justoneeyarago=%lastyear%%today:~4,4%

rem LOGファイルの整理(一年以上前のファイルを削除)
for %%i in (%logpath%%scriptname%_????????.log) do (
if %%i lss %logpath%%scriptname%_%justoneeyarago%.log (
del %%i /q
)
)

rem 終了
exit 0
sample.vbs
Wscript.echo "現在時刻:" & Now

posted by Hiro at 23:32| Comment(0) | プログラム