Click here to Skip to main content
15,885,216 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi,

I have to write a batch script for comparing two files.
The filenames should be like -- HP_OTT_todaydate.txt and HP_OTT_yesterdaydate.txt

HT_OTT is fixed part in both filenames.

I want to get today's date and yesterday's date and suffix these date to the fixed part of filename.

I am using FC command and It should be like this,

C++
FC C:\HP_OTT_TodaysDate.txt   C:\HP_OTT_YesterdayDate.txt


I have coded something like this in my batch file,


C++
FC C:\HP_OTT.txt   C:\HP_OTT%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt



This part
C++
C:\HP_OTT%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
is suffixing today's date to fixed filename part of first file and giving me file name as HT_OTT04052012 and that's what I am expecting.

But I am getting difficulty for suffixing yesterday's date to the second filename.

I have been stucked on this issue since 3 days; any alternative approach would be great helpful.

P.S. - I am using Windows 7 Pro 64 bit.
Posted

1 solution

I am able to solve problem using powershell,

C++
$yesterday = Get-Date -UFormat %d%m%Y -Date (Get-Date).adddays(-1)
$today=Get-Date -UFormat %d%m%Y

$strReference = Get-Content C:\batchtest\HP_OTT$today.txt
$strDifference = Get-Content  C:\batchtest\HP_OTT$yesterday.txt
 Compare-Object $strReference $strDifference >C:\batchtest\result.txt
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900