Here's what I did...
code:
BREAK ON
$FILENAME = "symcdefsx86.exe"
$PATH = @CURDIR
;[ ------------------------------------------------------------------------------ ]
? "[ Connecing to FTP Server ]"+@CRLF
CD $PATH+"\_update\new"
SHELL "%COMSPEC% /C FTP -s:"+$PATH+"\ftp.txt"
IF @ERROR <> 0
BEEP
? "SHELL failed with ERRORCODE : [" + @ERROR + "]"
? @SERROR
ENDIF
CD "$PATH"
;[ ------------------------------------------------------------------------------ ]
$NTIME = GetFileTime($PATH+"\_update\new\"+$FILENAME+"")
$OTIME = GetFileTime($PATH+"\_update\"+$FILENAME+"")
IF($NTIME > $OTIME)
? "[ Newer File exists. Copying "+$FILENAME+" to Network ]"
CALL $PATH+"\copy.kix"
GOTO END
ELSE
? "[ No new Update file for this session = "+$FILENAME+" ]"
GOTO END
ENDIF
;[ ------------------------------------------------------------------------------ ]
:END
? "[ End NAV Update Script... ]" + @CRLF
$RC = OPEN(2,"$PATH\getnav.log",5)
$RC = WRITELINE(2,"==================================================" + @CRLF)
$RC = WRITELINE(2,"[ @date ] " + "[ @time ]" + "[ $FILENAME ]" + @CRLF)
$RC = WRITELINE(2,"==================================================" + @CRLF)
$RC = CLOSE(2)
EXIT
fpt.txt...
code:
open ftp5.symantec.com
anonymous
me@mail.com
cd public/english_us_canada/antivirus_definitions/norton_antivirus/static
binary
get symcdefsx86.exe
quit
Login script...
code:
:NAV
? "[ Checking for AntiVirus Update ]"
IF EXIST("C:\NAV") = 0
MD "C:\NAV"
ENDIF
$NAVFILE = Dir($SERVER+"\netlogon\_auxfiles\NAV\*x86.exe")
$NTIME = GetFileTime($SERVER+"\netlogon\_auxfiles\NAV\"+$NAVFILE+"")
$CTIME = ReadProfileString("C:\NAV\NAVUpdate.ini","VirusDefs","CUR")
IF($NTIME > $CTIME)
? "[ Newer Definitions exists. Installing Definitions ]"
RUN $SERVER+"\netlogon\_auxfiles\NAV\"+$NAVFILE+" /q"
$RC = WriteProfileString("C:\NAV\NAVUpdate.ini","VirusDefs","OLD","$CTIME")
$RC = WriteProfileString("C:\NAV\NAVUpdate.ini","VirusDefs","CUR","$NTIME")
ELSE
? "[ No new Updates for this session ]"
ENDIF
The FTP part runs twice daily(11:30pm & 1:30am) to check for a new file.
Rocco