Adding or subtracting days from current date in batch script

Hi,

I'm writing an batch file to create report

In the batch file iam passing two arguments:startdate and finishdate

Ex: startdate=07-sep-2009 finishdate=07-sep-2011

I need to have script that takes command line argument as input and gives me out currentdate last year and current date next year as mention above example.

currentdate-1 year & currentdate+ 1year

For example if I pass argument as 07-sep-2010 to batch script I should get ouput as startdate=07-sep-2009 finishdate=07-sep-2011.

Could any one please help?.

Regards,
Anand

check the FAQ article http://www.unix.com/answers-frequently-asked-questions/13785-yesterdays-date-date-arithmetic.html

You should find what you want ( and more :slight_smile: ) in there

@echo off
setlocal enabledelayedexpansion
if "%1" == "" (
	echo Error
	exit /b 1
)

for /f "tokens=1,2,3 delims=-" %%a in ("%1") do (
	set /a yearStart=%%c - 1
	set "startdate=%%a-%%b-!yearStart!"
	set /a yearFinish=!yearStart! + 2
	set "finishDate=%%a-%%b-!yearFinish!"
)
echo Start : !startdate!
echo Finish : !finishDate!
C:\>code.bat 07-sep-2010
Start : 07-sep-2009
Finish : 07-sep-2011

C:\>