Click here to Skip to main content
11,935,345 members (61,679 online)
Rate this:
Please Sign up or sign in to vote.
See more: batch script DOS

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,

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

I have coded something like this in my batch file,

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

This part
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 4-May-12 0:14am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

I am able to solve problem using powershell,

$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

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

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web01 | 2.8.151126.1 | Last Updated 4 May 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100