BAT里往前一天的系统时间

BAT里去前一天的系统时间!
set datevar=%date:~0,4%%date:~5,2%%date:~8,2%   《---YYYYMMDD
set date-var=%date:~0,4%-%date:~5,2%-%date:~8,2%  <==YYYY-MM-DD
我是要分别取两个格式的时间,现在两个格式要取前一天的时期,该怎么写啊?

------解决方案--------------------
@echo off

setlocal enabledelayedexpansion

set year=%date:~0,4% 
set month=%date:~5,2% 
set day=%date:~8,2% 

echo %year%%month%%day%

if %day% EQU 01 (set last_day=30 & set/a last_month=%month%-1 &echo %year%!last_month!!last_day!) else (set/a last_day=%day%-1 & set last_month=%month% & echo %year%!

last_month!!last_day!)

pause

类似这个