Solved

Need help with a BATCH file

Posted on 2012-03-14
7
376 Views
Last Modified: 2012-03-14
Hi,

Scenario:

-We are using the following batch file which is configured with an AT task.

@echo off
cd C:\Program Files (x86)\JAM Software\TreeSize Professional\
TreeSize.exe /HTML "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport.HTML" /EXPAND 2 \\ss1\is_shared
blat.exe "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport.HTML" -to email1@domain.com -f storagealerts@domain.com -server exchange.domain.local

-The script runs once every moth
-Through TreeSize.exe /HTML we are creating an output HTML file which creates a report the report is named "IS_SHARED_StorageReport.HTML" and it is placed on network share.
-The report is sent via email to a number of recepients. We use BLAT.EXE + the name of the report to do it.  
-The report that is saved on the network share is overwriten every moth since we are using the same name.

Issue:

Since the report is saved on the network share with the same name overwrites the previous one which is now becoming a problem because we don't have any data for trending.

Question:

We are trying to figure out if the is any way to get the batch file modified in order to create a file with a new name. For example something like this:

IS_SHARED_StorageReport_03/14/2012.HTML
IS_SHARED_StorageReport_04/14/2012.HTML
IS_SHARED_StorageReport_05/14/2012.HTML
IS_SHARED_StorageReport_06/14/2012.HTML
etc.

Could someone help us out with this one?

Thank you!
0
Comment
Question by:llarava
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 7

Expert Comment

by:micropc1
ID: 37721331
Try this...

@echo off
FOR /f "tokens=2 delims= " %%D in ('echo %DATE:/=%') do SET DATEN=%%D
cd C:\Program Files (x86)\JAM Software\TreeSize Professional\
TreeSize.exe /HTML "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport_%DATEN%.HTML" /EXPAND 2 \\ss1\is_shared
blat.exe "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport.HTML" -to email1@domain.com -f storagealerts@domain.com -server exchange.domain.local

Open in new window

0
 
LVL 1

Expert Comment

by:altzar
ID: 37721424
you can add those line at the begining of  the batch :

Set YEAR=%DATE:~10,4%
Set MONTH=%DATE:~4,2%
Set DAY=%DATE:~7,2%
Set CURDATE=%YEAR%-%MONTH%-%DAY%

then use %CURDATE% in the file name

so your batch will look like this :

@echo off

Set YEAR=%DATE:~10,4%
Set MONTH=%DATE:~4,2%
Set DAY=%DATE:~7,2%
Set CURDATE=%YEAR%-%MONTH%-%DAY%

cd C:\Program Files (x86)\JAM Software\TreeSize Professional\

TreeSize.exe /HTML "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport_%CURDATE%.HTML" /EXPAND 2 \\ss1\is_shared

blat.exe "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport_%CURDATE%.HTML" -to email1@domain.com -f storagealerts@domain.com -server exchange.domain.local
0
 
LVL 7

Accepted Solution

by:
micropc1 earned 500 total points
ID: 37721444
I just realized I forgot to include %DATEN% in the filename for blat.exe, so corrected it would be...

@echo off
FOR /f "tokens=2 delims= " %%D in ('echo %DATE:/=%') do SET DATEN=%%D
cd C:\Program Files (x86)\JAM Software\TreeSize Professional\
TreeSize.exe /HTML "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport_%DATEN%.HTML" /EXPAND 2 \\ss1\is_shared
blat.exe "\\ss1\IS_Shared\Weekly Storage Reports\IS_SHARED_StorageReport_%DATEN%.HTML" -to email1@domain.com -f storagealerts@domain.com -server exchange.domain.local

Open in new window

0
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

 

Author Comment

by:llarava
ID: 37721623
micropc1,

This one seems to work. The only issue is that I think that blat.exe needs a litle time catch up with the HTML file creation. Basically I get an email but it looks like raw code.

Would the script wait until the HTML file is fully generated and then send the email through BLAT.EXE?
0
 
LVL 1

Expert Comment

by:altzar
ID: 37721633
yes, a batch file is sequential
0
 

Author Comment

by:llarava
ID: 37721680
That is what I thought...

Well BLAT says something like this "Failed to open registry key for Blat Profile, using default. Failed to open registry key for blat
0
 
LVL 7

Expert Comment

by:micropc1
ID: 37721715
You may need to specify that the email is in HTML format. Try using blat's -html parameter to set the encoding to text/html or attaching the html file using -attacht.
0

Featured Post

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
This article will show, step by step, how to integrate R code into a R Sweave document
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

628 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question