Okay here is an UNTESTED semi rewrite of your code.
Please review the code and update/modify/change as needed to function properly in your environment.

PHP:
;: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 ;---- Last edit date 12/5/2006 by NTDOC ; ;---- Declare Variables ------- ; If Not @LogonMode Break On Else Break Off EndIf Dim $SO $SO=SetOption('Explicit','On') $SO=SetOption('NoVarsInStrings','On') $SO=SetOption('NoMacrosInStrings','On') $SO=SetOption('WrapAtEOL','On') Dim $SCRIPTROOT, $REPORTSTORE, $ARCHIVESTORE, $REPORTUSER, $ARCHIVEUSER, Dim $REPORTDRIVE, $ARCHIVEDRIVE, $ARCHIVE, $ARCHIVELOG Dim $EmailServer, $Sender, $SupportEmail, $EmailAddress Dim $USERPASS $SCRIPTROOT = '\\server1\path\' $REPORTSTORE = 'server2path' $ARCHIVESTORE = 'server3path' $REPORTUSER = 'domain1user' $ARCHIVEUSER = 'domain2user' $REPORTDRIVE = 'I:' $ARCHIVEDRIVE = 'J:' $ARCHIVE = Trim(Join(Split(@DATE,'/'),'-'))+'_'+Trim(Join(Split(@TIME,':'),'')) $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" ? Dim $Err, $SErr USE $ARCHIVEDRIVE + $ARCHIVESTORE /USER:$ARCHIVEUSER /PASSWORD:$USERPASS $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 '....Done' ? ELSE '..Failed: ' + $SErr ? SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER) Quit $Err ENDIF ; Dim $VARSET $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') Dim $Err, $SErr USE $REPORTDRIVE + $REPORTSTORE /USER:$REPORTUSER /PASSWORD:$USERPASS $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 "....Done" ? $VARSET = WRITELINE(1, '....Done' + @CRLF) ELSE "..Failed: " + $SErr ? $VARSET = WRITELINE(1, '..Failed' + @CRLF) SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Report_Mapping_failure -server " + $EMAILSERVER) Quit $Err ENDIF "Creating current date folder" ? $VARSET = WRITELINE (1, 'Creating current date folder') Dim $Err, $SErr MD $ARCHIVEDRIVE + '' + $ARCHIVE $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 '....Done' ? $VARSET = WRITELINE(1, '....Done' + @CRLF) ELSE '..Failed: ' + $SErr ? $VARSET = WRITELINE(1, '..Failed' + @CRLF) SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_directory_creation_failure -server " + $EMAILSERVER) Quit $Err ENDIF $VARSET = WRITELINE (1, 'Compressing current KPI data on Report Drive') Shell ("%comspec% /c " + $SCRIPTROOT + "\rar.exe a -r -t -y " + $REPORTDRIVE + "\" + $ARCHIVE + ".Rar " + $REPORTDRIVE + "\*") $VARSET = WRITELINE (1, 'Copying report to current date folder') Dim $Err, $SErr COPY $REPORTDRIVE + '' + $ARCHIVE + '.Rar' $ARCHIVEDRIVE + '' + $ARCHIVE $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 '....Done' ? $VARSET = WRITELINE(1, '....Done' + @CRLF) ELSE '..Failed: ' + $SErr ? $VARSET = WRITELINE(1, '..Failed' + @CRLF) $VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF) SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER) Quit $Err 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 ("%comspec% /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) Dim $Err, $SErr Shell ("%comspec% /c " + $SCRIPTROOT + "\unrar.exe e -r " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE ".rar " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" ) $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 '....Done' ? $VARSET = WRITELINE(1, '....Done' + @CRLF) ELSE '..Failed: ' + $SErr ? $VARSET = WRITELINE(1, '..Failed' + @CRLF) $VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF) SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_Extracting_Files_From_Archive -server " + $EMAILSERVER) Quit $Err ENDIF ; ;---- Removing archive rar file and files from Report Drive ; If LEN($REPORTDRIVE)>2 Dim $Err, $SErr RD $REPORTDRIVE /Q $VARSET = WRITELINE (1, 'Removing archive RAR file and files from Report Drive' + @CRLF) $Err = @ERROR $SErr = @SERROR IF @ERROR = 0 '....Done' ? $VARSET = WRITELINE(1, '....Done' + @CRLF) ELSE '..Failed: ' + $SErr ? $VARSET = WRITELINE(1, '..Failed' + @CRLF) SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_removing_files_from_HR01 -server " + $EMAILSERVER) Quit $Err ENDIF Else 'The REPORTDRIVE var was empty so did not write' ? EndIf ; ;---- Email success report to maintaining group ; SHELL ("%comspec% /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $EmailAddress + " -f " + $Sender + " -s " + @DATE + "_KPI_Archive_Success -server " + $EMAILSERVER)


.