批处理 date-1怎么得到

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:54:53
请教各位大侠
在批处理中
我现在想给文件按日期命名
我现在知道比如要得到现在的日期%DATE:~0,4%是年,%DATE:~5,2%是月,
我要请教的时如何由今天的日前的到前一天的日期,如今天是2008-12-01,我需要从另一台服务器得到文件名为2008-11-30.txt的文件!
也就是如何根据今天的日期得到昨天日期的类似YYYYMMDD的字串
谢谢

-----
@echo off
start /wait mshta vbscript:createobject("scripting.filesystemobject").createtextfile("temp.txt").write(date()-1)(window.close)
type temp.txt & del temp.txt & pause >nul
-----

貌似批处理不好求这个日期,调用VBS好弄一点.
date()-1表示取前一天的日期.-1可根据自己需要更改.

@echo off
::--------Generate Last Date---------
set TodayYear=%date:~0,4%
set TodayMon=%date:~5,2%
set TodayDay=%date:~8,2%
set LastdayYear=
set LastdayMon=
set LastdayDay=
set LastdayYear=%TodayYear%
set LastdayMon=%TodayMon%
set /A LastdayDay=TodayDay-1
if "%LastdayDay%" == "0" (
if "!LastdayMon!" == "01" (
set LastdayMon=12
set /A LastdayYear-=1
) else (
set /A LastdayMon-=1

if "!LastdayMon!" == "1" set LastdayMon=01