home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
kabki622.zip
/
KKARCH.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-09-24
|
2KB
|
93 lines
/* Archive Mail KKARCH.CMD */
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
LAST_NUMBER_FILE = 'number.pms'
arg SrcDir DisZip Sno Eno .
if DisZip = '' then do
say 'usage: kkarch <source directory> <disnation filename> [<start> <end>]'
exit
end
if CheckFolder(SrcDir) = 0 then do
say 'Not Exist Source Directory'
exit
end
if Sno = '' then Sno = 1
if Eno = '' then Eno = 99999999
SrcDir = CheckSgn(SrcDir)
n = ReadNewMailNumber(SrcDir)
if n = -1 then do
say 'NoMails'
exit
end /* Do */
if Eno > n then Eno = n - 1
say 'KKARCH Mail No:' || Sno || '->' || Eno
TmpDir = SrcDir || 'kkarch.tmp'
TmpDir2 = CutDrive(TmpDir)
'@md ' || TmpDir
say 'Select Mails'
do i = Sno to Eno
fname = SrcDir || i
rb = stream(fname,"c","OPEN READ")
if rb = "READY:" then do
call stream fname, "c", "CLOSE"
'@move ' || CutDrive(fname) || ' ' || TmpDir2 || ' 1>nul 2>nul'
end
end /* do */
rc = WriteNewMailNumber(CheckSgn(TmpDir), i + 1)
say 'Archive Mails'
'@zip -m -9 ' || DisZip || ' ' || TmpDir || '\* 1>nul 2>nul'
'@rd ' || TmpDir
exit
CheckSgn:
arg dir
if right(dir, 1) = '\' then return dir
return dir || '\'
CheckFolder:
arg folder
if right(folder, 1) = '\' then folder = left(folder, length(folder - 1))
rc = SysFileTree( folder, "stem", "D" )
if stem.0 = 0 then return 0
return 1
ReadNewMailNumber:
arg folder
fname = folder || LAST_NUMBER_FILE
rb = stream(fname,"c","OPEN READ")
if rb = "READY:" then do
n = linein( fname, 1 )
call stream fname, "c", "CLOSE"
end
else do
n = -1
end
return n
WriteNewMailNumber:
arg folder, nn
fname = folder || LAST_NUMBER_FILE
rb = stream(fname,"c","OPEN WRITE")
if rb = "READY:" then do
call lineout fname, nn, 1
call lineout fname
call stream fname, "c", "CLOSE"
return 1
end
else do
say "âëâXâgâüü[âïNoâtâ@âCâï("||fname||")é¬ì∞ɼé┼é½é▄é╣é±"
return 0
end
CutDrive:
arg path .
if substr(path, 2, 1) \= ':' then return path
return right(path, length(path) - 2)