cancel
Showing results for 
Search instead for 
Did you mean: 

need help in modifying the subject line

Anurag_Sharma
Level 3
Partner

**** Moved to new discussion from https://www-secure.symantec.com/connect/forums/how-exclude-157150-error-blat  ****

Yasuhisa Ishikawa,

No Doubts excellent progamming work by you.

I'm one of the colleguage with Phani Kumar.

This script is sending and email for backup failures for all status codes apart from the excluded ones.

The subject of the email is " Backup on CLIENTNAME - STATUS CODE

for example

 

==============================================================================

 

From: NetBackup@xyz.com
Sent: Friday, December 07, 2012 9:42 AM
To: xx.com
Subject: Backup on PNORS474 - 50

 

Backup on client PNORS474 for user root by server MPS6741 failed.

 

Status = client process aborted.

 

Policy = Daily_Incr_2200_SAT_FULL

Schedule = DIFF

 

File list

---------

ALL_LOCAL_DRIVES

===============================================================================

 

We need you help in modifying the subject line from Backup on CLIENTNAME to Backup Failed on CLIENTNAME something like

from Backup on PNORS474 - 50 to Backup failed on PNORS474 - 50

 

If you go further down the script this the portion which determines the subject

 

==========================================================


@REM -      %1 is the recipient's address                                      -
@REM -      %2 is the subject line                                             -
@REM -      %3 is the message file name                                        -
@REM -      %4 is the attached file name      @REM -      %1 is the recipient's address                                      -
@REM -      %2 is the subject line                                             -
@REM -      %3 is the message file name                                        -
@REM -      %4 is the attached file name      

 

IF "%~4"=="" (
blat %3 -s %2 -t %1 -i NetBackup -server smtp.moc.com -q
)ELSE (
blat %3 -s %2 -t %1 -i NetBackup -server smtp.moc.com -q -attach %4
)
 

===============================================================

-s is the varible with value %2 passed to the blat function/binary we some how need to modify that to reflect backup failed on instead of backup on.

 

1 ACCEPTED SOLUTION

Accepted Solutions

Yasuhisa_Ishika
Level 6
Partner Accredited Certified

Probably this will work.

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=5" %%i IN ("%2") DO SET STATUS=%%i
SET STATUS=!STATUS:~0,-1!
IF "%STATUS%"=="0" GOTO :EOF
IF "%STATUS%"=="90" GOTO :EOF
IF "%STATUS%"=="150" GOTO :EOF
IF "%STATUS%"=="157" GOTO :EOF
IF "%STATUS%"=="190" GOTO :EOF

FOR /F "tokens=1,2,3,4,5" %%i IN ("%2") DO SET SUBJECT=%%i failed %%j %%k %%l %%m


IF "%~4"=="" (
blat %3 -s %SUBJECT% -t %1 -i NetBackup -server smtp.moc.com -q
)ELSE (
blat %3 -s %SUBJECT% -t %1 -i NetBackup -server smtp.moc.com -q -attach %4
)

blat %TEMP%\nbmail.tmp -s %SUBJECT% -t %1 -server smtp.moc.com >> D:\BUR_Scripts\Reports\DR File Email\nbmaillog.txt
) ELSE (
blat %TEMP%\nbmail.tmp -s %SUBJECT% -t %1 -server smtp.moc.com >> D:\BUR_Scripts\Reports\DR File Email\nbmaillog.txt -attach %4
) 

View solution in original post

6 REPLIES 6

Yasuhisa_Ishika
Level 6
Partner Accredited Certified

Probably this will work.

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=5" %%i IN ("%2") DO SET STATUS=%%i
SET STATUS=!STATUS:~0,-1!
IF "%STATUS%"=="0" GOTO :EOF
IF "%STATUS%"=="90" GOTO :EOF
IF "%STATUS%"=="150" GOTO :EOF
IF "%STATUS%"=="157" GOTO :EOF
IF "%STATUS%"=="190" GOTO :EOF

FOR /F "tokens=1,2,3,4,5" %%i IN ("%2") DO SET SUBJECT=%%i failed %%j %%k %%l %%m


IF "%~4"=="" (
blat %3 -s %SUBJECT% -t %1 -i NetBackup -server smtp.moc.com -q
)ELSE (
blat %3 -s %SUBJECT% -t %1 -i NetBackup -server smtp.moc.com -q -attach %4
)

blat %TEMP%\nbmail.tmp -s %SUBJECT% -t %1 -server smtp.moc.com >> D:\BUR_Scripts\Reports\DR File Email\nbmaillog.txt
) ELSE (
blat %TEMP%\nbmail.tmp -s %SUBJECT% -t %1 -server smtp.moc.com >> D:\BUR_Scripts\Reports\DR File Email\nbmaillog.txt -attach %4
) 

Yasuhisa_Ishika
Level 6
Partner Accredited Certified

Anurag,

Does this work on your environment? Please give me your feedback.

Anurag_Sharma
Level 3
Partner

Yes Yashuhisa !!!

 

It worked.

 

Could you please tell me which programming language this script is written ?

 

 

Yasuhisa_Ishika
Level 6
Partner Accredited Certified
Windows batch scripting using builtin commands - not a programming language.

Anurag_Sharma
Level 3
Partner

Yasuhisa,

Do you know any good resource which can teach me about this batch scripting

Yasuhisa_Ishika
Level 6
Partner Accredited Certified

Only thing I know as reference is online help of builtin commands in Commad Prompt.
I used to see online help by hitting below commands or so in Command Prompt, then write batch, and test again and again.

help set
help for
help if
help setlocal