Windows Batch help...

Associate
Joined
5 Jan 2004
Posts
663
Location
Sussex
Hi,

Total n00b here when it comes to basic batch scripting, I've attempted to put together a mini batch script that takes a text file and emails it to an address using the 'Blat' cmd line SMTP emailer.

Need a bit of help / advice from someone on how to make the script check the text file to see what it’s modified / created date is, and then only email it if the date matches the current day. I.e. if the script runs on Monday 01/01/2008, I want it to check the .txt file to see if it was modified / created on 01/01/2008, if it was continue with the rest of the script, if not then email a separate message stating that no file was found for 'today'.

Many thanks for any help (bear in mind I'm still learning all this stuff! :))

Copy of the script so far:


@Echo OFF & SETLOCAL ENABLEEXTENSIONS

SETLOCAL

REM ------------------------------------------------------------------
REM Configurable settings
REM ------------------------------------------------------------------
SET TX_FILE_FOLDER=C:\order_data
SET LOG_FOLDER=c:\logs

REM ------------------------------------------------------------------
REM Get the date and time for filenames and messages
REM ------------------------------------------------------------------
FOR /F "tokens=1-4 delims=/- " %%i IN ('date/t') DO SET TODAYS_DATE=%%i%%j%%k
FOR /F "tokens=1-4 delims=:/- " %%i IN ('time/t') DO SET START_TIME=%%i%%j%%k

REM ------------------------------------------------------------------
REM Create a log filename
REM ------------------------------------------------------------------
SET LOG_FILENAME=%LOG_FOLDER%\send_%TODAYS_DATE%.log

REM ------------------------------------------------------------------
REM Log that we've started
REM ------------------------------------------------------------------
ECHO Send started on %TODAYS_DATE% @ %START_TIME% > %LOG_FILENAME%

REM ------------------------------------------------------------------
REM Get the end time
REM ------------------------------------------------------------------
FOR /F "tokens=1-4 delims=:/- " %%i IN ('time/t') DO SET END_TIME=%%i%%j%%k

REM ------------------------------------------------------------------
REM Log that we've finished
REM ------------------------------------------------------------------
ECHO Send finished at %TODAYS_DATE% @ %END_TIME% >> %LOG_FILENAME%

REM ------------------------------------------------------------------
REM Start of email procedure
REM ------------------------------------------------------------------
SET SUBJECT="Email todays order data"
SET TOADDRESS=[email protected]
SET RECEIPT=NO
SET ATTACH=%TX_FILE_FOLDER%\order.txt

IF EXIST c:\check_bit.txt GOTO ENDIF
SET SMTPSERVER=10.0.0.1
SET FROMADDRESS=[email protected]
c:\blat\blat -install %smtpserver% %fromaddress% -savesettings
ECHO %TODAYS_DATE% %START_TIME% > c:\check_bit.txt
:ENDIF

REM IF "%receipt%"=="YES" SET EXTRAS=-r

REM ------------------------------------------------------------------
REM Send email with attachment
REM ------------------------------------------------------------------
ECHO Sending files....
c:\blat\blat c:\blat\body.txt -subject %subject% -to %toaddress% -attach %attach%
ECHO Send complete.
 
Back
Top Bottom