Comment ========================================================== Computer Tyme MailCopy * Copyright 1995 by Marc Perkel All Rights Reserved Computer Tyme * 309 North Jefferson, #220 * Springfield Mo. 65806 (800) 548-5353 Sales * (417) 866-1222 Voice * (417) 866-1665 Data/Fax ========================================================== EndComment ;#Define Shareware ;------ Create Variables Var SourceUsers DestUsers SourceDir Batch Command SourceServer DestServer Servers Main ;======================= P R O C E D U R E S =========================== Procedure ReadSourceUsers var X NovPreferredServer = SourceServer Writeln Writeln 'Reading User List from: ' SourceServer NovUsers(SourceUsers) if NumberOfElements(SourceUsers) = 0 Error 'Reading users from: ' SourceServer endif Loop SourceUsers X = SourceServer + '/SYS:MAIL\' + NovObjectID(LoopVal) + '\*.* ' SourceDir[LoopIndex] = X EndLoop EndProc Procedure ReadDestUsers var DestDir NovPreferredServer = DestServer Writeln 'Reading User List from : ' DestServer Writeln NovUsers(DestUsers) if NumberOfElements(DestUsers) = 0 Error 'Reading users from: ' DestServer endif Loop SourceUsers {User must exist on both servers} if PosInList(LoopVal,DestUsers) > 0 Writeln 'Processing: ' LoopVal AppendArray(Batch,'') AppendArray(Batch,'REM * User: ' + LoopVal) DestDir = DestServer + '/SYS:MAIL\' + NovObjectID(LoopVal) if not ExistDir(DestDir) MkDir(DestDir); ; AppendArray(Batch,'MD ' + DestDir) endif Command = 'NCOPY ' + SourceDir[LoopIndex] Command = Command + DestDir + ' /S' AppendArray(Batch,Command) else Writeln '==> User ' LoopVal ' not found on server ' DestServer '!' endif EndLoop EndProc Procedure Main Setup ReadSourceUsers ReadDestUsers NovPreferredServer = '' Writeln Writeln 'Creating file: MAILCOPY.BAT' WriteTextFile('MAILCOPY.BAT',Batch) Writeln Writeln 'Edit MAILCOPY.BAT and then run it to copy mail directories.' EndProc Procedure Error ($St) Writeln Writeln 'Error: ' St ExitCode = 255 ExitMenu EndProc Procedure Help Include 'ADDRESS.INC' Writeln 'MailCopy helps migrate user MAIL directories from one' Writeln 'file server to another. It does this by cross referrencing' Writeln 'user IDs from one server to another and building a BATCH' Writeln 'file, MAILCOPY.BAT, with NCOPY statements. This file can be' Writeln 'edited before it is run.' Writeln Writeln 'Usage:' Writeln ' MAILCOPY ' Writeln Writeln 'You must be logged into both servers for this to work.' Writeln Writeln 'MailCopy is licensed for $95/fileserver.' ExitMenu EndProc #If Shareware Procedure Beg BoxBorderColor Green Blue BoxInsideColor White Blue BoxHeaderColor Yellow Mag BoxHeader ' * Shameless Beg Screen * ' DrawBox 10 8 61 6 Writeln WriteCenter '* MailCopy Evaluation Copy *' Writeln WriteCenter 'Please remember to register this software.' Wait 600 EraseTopWindow ClearKbdBuffer EndProc #Endif Procedure Setup #If Shareware Beg #Endif ExitCode = 0 StandardIO Writeln Writeln 'Computer Tyme MailCopy * Copyright 1995 by Marc Perkel' Writeln 'All Rights Reserved * Version 1.0 * Release Date: 10-10-95' SourceServer = UpperCase(ParamStr(2)) DestServer = UpperCase(ParamStr(3)) if (SourceServer = '') or (DestServer = '') Help endif NovPreferredServer = DestServer if NovPreferredServer <> DestServer Error 'Server ' DestServer ' not Accessed!' endif NovPreferredServer = SourceServer if NovPreferredServer <> SourceServer Error 'Server ' SourceServer ' not Accessed!' endif EndProc