Script posted below as requested ....

As I alluded to, it gets all the way through up to the unraring part of the script. The servers sit in two untrusted domains.

If anything more is needed let me know. I will probably put the @error and @serror in if there was a failure before sending the email, but at the moment I want to get successfuls working,

Pax

Code:
;:KVIS:Edited on 04/12/2006 09:38:57 by Pax.|E:KVIE:
; This is a test script for moving the archive data
;
;--------------------------------------------------------------------------------------------------------------------
;
;---- Script version 0.2
;---- Created by Pax
;---- Last edit date 04/12/2006 by Pax
;
;---- Declare Variables -------
;
$SCRIPTROOT = "\\server1\path\"
$REPORTSTORE = "\\server2\path"
$ARCHIVESTORE = "\\server3\path"
$REPORTUSER = domain1\user
$ARCHIVEUSER = domain2\user
$REPORTDRIVE = I:
$ARCHIVEDRIVE = J:
$ARCHIVE = "" + @YEAR + @MONTHNO + @MDAYNO
? $ARCHIVE
$ARCHIVELOG = $ARCHIVEDRIVE + "\LOGS\" + $ARCHIVE + ".LOG"
? $ARCHIVELOG
$EmailServer = "our.emailserver.net"
$Sender = "sender@@emailserver.net"
$SupportEmail = "support@@emailserver.net"
$EmailAddress = "recipient@@emailserver.net"
;
;---- If the password for the REPORTUSER account changes on server2, change the password on the ARCHIVEUSER account, 
;---- and update the password in this script. Without this the script will fail
;
$USERPASS = password
;
;---- Mapping Archive drive first to create log file
;
? "Mapping the Archive Drive"
USE $ARCHIVEDRIVE $ARCHIVESTORE /USER:$ARCHIVEUSER /PASSWORD:$USERPASS
	IF @ERROR = 0
		"....Done"
	ELSE
		"..Failed"
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER)
		GOTO END
	ENDIF
;
$VARSET = OPEN(1, $ARCHIVESTORE + "\LOGS\" + $ARCHIVE + ".LOG", 5)
? @DATE
$VARSET = WRITELINE (1, "The current date is " + @DATE + @CRLF)
;
;---- Do drive mapping for Report drive to move the data
;
$VARSET = WRITELINE (1, "Mapping the Report Drive")
USE $REPORTDRIVE $REPORTSTORE /USER:$REPORTUSER /PASSWORD:$USERPASS
	IF @ERROR = 0
		"....Done"
		$VARSET = WRITELINE(1, "....Done" + @CRLF)
	ELSE
		"..Failed"
		$VARSET = WRITELINE(1, "..Failed" + @CRLF)
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Report_Mapping_failure -server " + $EMAILSERVER)
		GOTO END
	ENDIF
? "Creating current date folder"
$VARSET = WRITELINE (1, "Creating current date folder")
MD "$ARCHIVEDRIVE@YEAR@MONTHNO@MDAYNO"
;MD "$ARCHIVEDRIVE@YEAR + right("0" + @MONTHNO,2) + right("0" + @MDAYNO,2)"
	IF @ERROR = 0
		"....Done"
		$VARSET = WRITELINE(1, "....Done" + @CRLF)
	ELSE
		"..Failed"
		$VARSET = WRITELINE(1, "..Failed" + @CRLF)
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_directory_creation_failure -server " + $EMAILSERVER)
		GOTO END
	ENDIF
$VARSET = WRITELINE (1, "Compressing current KPI data on Report Drive")
Shell ("cmd.exe /c " + $SCRIPTROOT + "\rar.exe a -r -t -y " + $REPORTDRIVE + "\" + $ARCHIVE + ".Rar " + $REPORTDRIVE + "\*")
$VARSET = WRITELINE (1, "Copying report to current date folder")
COPY $REPORTDRIVE + "\" + $ARCHIVE + ".Rar" $ARCHIVEDRIVE + "\" + $ARCHIVE
	IF @ERROR = 0
		"....Done"
		$VARSET = WRITELINE(1, "....Done" + @CRLF)
	ELSE
		"..Failed"
		$VARSET = WRITELINE(1, "..Failed" + @CRLF)
		$VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF)
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER)
		GOTO END
	ENDIF
;
;---- Compare copied filesizes
;
$REPORTFILE = GetFileSize ($REPORTDRIVE + $ARCHIVE + ".rar") /1024
$VARSET = WRITELINE (1, "Report RAR file size is " + $REPORTFILE + @CRLF)
$ARCHIVEFILE = GetFileSize ($ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE + ".rar") /1024
$VARSET = WRITELINE (1, "Archive rar file size is " + $ARCHIVEFILE + @CRLF)
If $REPORTFILE <> $ARCHIVEFILE
	SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s File_Copy_Error -server " + $EMAILSERVER)
ENDIF
;
;---- Extracting files onto Archive
;
$VARSET = WRITELINE (1, "Extracting " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE + ".rar" +  @CRLF)
Shell ("cmd.exe /c " + $SCRIPTROOT + "\unrar.exe e -r " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE ".rar " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" )
	IF @ERROR = 0
		"....Done"
		$VARSET = WRITELINE(1, "....Done" + @CRLF)
	ELSE
		"..Failed"
		$VARSET = WRITELINE(1, "..Failed" + @CRLF)
		$VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF)
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_Extracting_Files_From_Archive -server " + $EMAILSERVER)
		GOTO END
	ENDIF
;
;---- Removing archive rar file and files from Report Drive
;
RD $REPORTDRIVE /Q
$VARSET = WRITELINE (1, "Removing archive RAR file and files from Report Drive" + @CRLF)
	IF @ERROR = 0
		"....Done"
		$VARSET = WRITELINE(1, "....Done" + @CRLF)
	ELSE
		"..Failed"
		$VARSET = WRITELINE(1, "..Failed" + @CRLF)
		SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_removing_files_from_HR01 -server " + $EMAILSERVER)
		GOTO END
	ENDIF
;
;---- Email success report to maintaining group
;
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $EmailAddress + " -f " + $Sender + " -s " + @DATE + "_KPI_Archive_Success -server " + $EMAILSERVER)
:END
;USE $REPORTDRIVE /DEL
;USE $ARCHIVEDRIVE /DEL


Edited by Pax (2006-12-04 03:01 PM)