home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
kkmail01.zip
/
KKMERGE.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-09-17
|
2KB
|
96 lines
/* Merge Mail KKMERGE.CMD */
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
LAST_NUMBER_FILE = 'number.pms'
arg SrcDir DisDir .
if DisDir = '' then do
say 'usage: kkmerge <source directory> <disnation directory>'
exit
end
if translate(SrcDir) = translate(DisDir) then do
say 'Same Directory !!'
exit
end
if CheckFolder(SrcDir) = 0 then do
say 'Not Exist Source Directory'
exit
end
if CheckFolder(DisDir) = 0 then do
say 'Not Exist Disnation Directory'
exit
end
SrcDir = CheckSgn(SrcDir)
DisDIr = CheckSgn(DisDir)
rc = SysFileTree(SrcDir || '*', 'stemF', 'F')
if stemF.0 = 0 then do
say 'No Mail'
exit
end
cnt = 0
do j=1 to stemF.0
parse var stemF.j d t s a fn
fn = strip(fn)
f = substr(word(stemF.j,5), lastpos("\",word(stemF.j,5))+1)
if datatype(f, "N") \= 1 then iterate
n = ReadNewMailNumber(DisDir)
if n = -1 then n = 1
fn2 = DisDir || n
rc = WriteNewMailNumber(DisDir, n + 1)
if rc = 0 then exit
else
/*say fn '->' fn2*/
'@copy ' || fn || ' ' || fn2 ' 1>nul 2>nul'
'@del ' || fn || ' 1>nul 2>nul'
cnt = cnt + 1
end
rc = WriteNewMailNumber(SrcDir, 1)
say cnt || ' files moved'
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