Here's some code I helped create to get yesterday's date into usable
variables.
It even takes leap year into consideration.
Enjoy!
-Jerod
::Creates time variable
for /f %%z IN ('TIME/T') do set time=%%z
::Creates date variables
for /f "tokens=1-4 delims=/ " %%a IN ('DATE/T') do (
SET day=%%a
SET mm=%%b
SET dd=%%c
SET year=%%d)
::build yesterday date variables
SET ym=%mm%
SET yy=%year%
::Overcome octal issue...
IF %dd% EQU 08 (SET yd=07)&& GOTO PDSET
IF %dd% EQU 09 (SET yd=08)&& GOTO PDSET
IF %dd% EQU 10 (SET yd=09)&& GOTO PDSET
::Overcome 1st of the month issue...
IF %dd% NEQ 01 (GOTO YDSET)
IF %mm% EQU 01 (SET /A yy=%year%-1&& SET ym=12&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 02 (SET ym=01&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 04 (SET ym=03&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 05 (SET ym=04&& SET yd=30&& GOTO PDSET)
IF %mm% EQU 06 (SET ym=05&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 07 (SET ym=06&& SET yd=30&& GOTO PDSET)
IF %mm% EQU 08 (SET ym=07&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 09 (SET ym=08&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 10 (SET ym=09&& SET yd=30&& GOTO PDSET)
IF %mm% EQU 11 (SET ym=10&& SET yd=31&& GOTO PDSET)
IF %mm% EQU 12 (SET ym=11&& SET yd=30&& GOTO PDSET)
::Do Leap Year Calculations
SET /A yearchk=(%year% %% 4)
IF %yearchk% NEQ 0 (GOTO NOTLEAP)
SET /A yearchk=(%year% %% 400)
IF %yearchk% EQU 0 (GOTO YESLEAP)
SET /A yearchk=(%year% %% 100)
IF %yearchk% EQU 0 (GOTO NOTLEAP)
:YESLEAP
SET ym=02
SET yd=29
GOTO PDSET
:NOTLEAP
SET ym=02
SET yd=28
GOTO PDSET
:YDSET
SET /A pd=%dd%-1
IF %pd% LSS 8 (set yd=0%pd%) else (set yd=%pd%)
:PDSET
::AT THIS POINT YESTERDAY == %ym%\%yd%\%yy%
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of John T (Lists)
Sent: Wednesday, April 19, 2006 3:34 PM
To: [email protected]
Subject: RE: [Declude.JunkMail] OT: Help with WinZip command line
In other words, if using the following lines:
for /f "tokens=1-4 delims=/ " %%a IN ('DATE/T') do ( set day=%%a set mm=%%b
set dd=%%c set year=%%d set /A pd=%%c-1)
and running on 04/01/06, is %%c 03/31/06 or 04/00/06 or what?
John T
eServices For You
"Seek, and ye shall find!"
---
This E-mail came from the Declude.JunkMail mailing list. To
unsubscribe, just send an E-mail to [EMAIL PROTECTED], and
type "unsubscribe Declude.JunkMail". The archives can be found
at http://www.mail-archive.com.