バッチファイルで現在時刻をYYYYMMDDHHMMSS形式で取得する
set time_tmp=%time: =0%
set now=%date:/=%%time_tmp:~0,2%%time_tmp:~3,2%%time_tmp:~6,2%
echo %now%
ファイルlast.txtに日時がYYYYMMDD形式で保存されている場合、今日との差[日]を取得するには以下の様にする。
for /f "usebackq" %%a in (`type last.txt`) do set last=%%a
set now=%date:/=%
set /a diff="now-last"
echo %diff%
ループ変数 %%a、%a の変数名は1文字でなければいけない模様
また、バッチファイルの場合は"%%a"
コマンドプロンプトの場合は"%a"、とする
ちなみにset /aは32bit整数の計算しかできないので、YYYYMMDDHHMMSS形式は扱えません。使えないな~。
変数の削除(おまけ)
set now=