home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxtools.zip / check / check.cmd next >
OS/2 REXX Batch file  |  1998-01-12  |  4KB  |  119 lines

  1. /* Remote file size checker by cygnus, 2:463/62.32 */
  2.  
  3. '@nolist /r check >nul 2>nul'
  4.  
  5. rc = RxFuncAdd("FtpLoadFuncs","rxFtp","FtpLoadFuncs")
  6. rc = FtpLoadFuncs(quiet)
  7. rc = RxFuncAdd("SysLoadFuncs","rexxutil","SysLoadFuncs")
  8. rc = SysLoadFuncs()
  9.  
  10. signal on halt name logout
  11.  
  12. parse arg host user file pass
  13.  
  14. say 'Remote file size checker by cygnus, v1.0.8'
  15.  
  16. if file \= '' then
  17. do
  18.     if pass = '' then do
  19.         call charout , 'Enter password for user '||'1B'x'[32;1;40m'||user||'1B'x'[0m: '
  20.         call CharOut ,'1B'x'[8m'
  21.         parse pull pass
  22.         call CharOut ,'1B'x'[0m'
  23.     end
  24.     '@mode  80 5 2>nul'
  25.     call SysCls
  26.     call FtpSetUser host, user, pass
  27.     '@icontalk Contacting' host 'as' user '2>nul'
  28.  
  29.     call SysCurState 'OFF'
  30.  
  31.     size    =    0
  32.     size_old    =    0
  33.     size_start    =    0
  34.     flag    =    0
  35.     zero    =    0
  36.     fpath    =    ''
  37.  
  38.     do forever
  39.         rc=FtpDir(file, list.)
  40.         If rc=-1 | list.0 = 0 then do            /* Errors */
  41.             select
  42.                 when FtpErrNo = 'FTPHOST'
  43.                 then call CharOut ,'1B'x'[31;1;40m'||'Unknown host, wait'||'1B'x'[0m'||': '
  44.                 when FtpErrNo = 'FTPCONNECT'
  45.                 then call CharOut ,'1B'x'[31;1;40m'||'Unable to connect, wait'||'1B'x'[0m'||': '
  46.                 when FtpErrNo = 'FTPLOGIN'
  47.                 then call CharOut ,'1B'x'[31;1;40m'||'Unable to login, wait'||'1B'x'[0m'||': '
  48.                 when list.0 = 0
  49.                 then call CharOut ,'1B'x'[31;1;40m'||'File(s) ['file'] not found, wait'||'1B'x'[0m'||': '
  50.                 otherwise
  51.                 call CharOut ,'1B'x'[31;1;40m'||'Unknown error!, wait'||'1B'x'[0m'||': '
  52.             end
  53.             '@icontalk Error!'
  54.         end
  55.         else                                /* Main submodule */
  56.         do
  57.             parse var list.1 with skip skip skip size skip skip skip fname
  58.  
  59.             rc=lastpos('/', fname)
  60.             if rc \= 0 then
  61.             do
  62.                 fpath=substr(fname,1,rc)
  63.                 plen = length(fpath)
  64.                 if plen > 12 then fpath=substr(fpath,1,5)||'~'||substr(fpath,plen-7)
  65.             end
  66.             sfname=substr(fname,rc+1)
  67.             flen = length(sfname)
  68.             if flen > 14 then sfname=substr(sfname,1,7)||'~'||substr(sfname,flen-7)
  69.  
  70.             if flag = 0 then size_start = size
  71.             if size-size_old \= 0 then
  72.             do
  73.                 call charout ,'+' sfname 'size=' || '1B'x'[32;1;40m' || format(size/1000,,3) || '1B'x'[0m' || ' Kb, added ' || '1B'x'[36;1;40m' || format((size-size_old)/1000,,3) || '1B'x'[0m' || ' Kb'
  74.                 '@icontalk +' fpath||sfname ':' size/1000 'Kb, +'format((size-size_old)/1000,,3) 'bytes'
  75.                 zero = 0
  76.             end
  77.             else
  78.             do
  79.                 zero = zero + 1
  80.                 call charout ,'-' sfname 'size=' || '1B'x'[32;40m' || format(size_old/1000,,3) || '1B'x'[0m' || ' Kb, added ' || '1B'x'[36;40m' || '    0'|| '1B'x'[0m' || ' Kb, '||'1B'x'[30;47m'|| zero ||'1B'x'[0m'
  81.                 '@icontalk -' fpath||sfname ':' size/1000 'Kb,' zero'x0'
  82.                 if zero > 13 then
  83.                 do
  84.                     call beep 400, 100
  85.                     call beep 100, 100
  86.                     call beep 400, 100
  87.                 end
  88.             end
  89.             parse value SysCurPos() with row col
  90.             call SysCurPos row, 60
  91.             call Charout , 'wait: '
  92.             size_old = size
  93.             flag = 1
  94.         end
  95.  
  96. /* Change turns number&SysSleep value to change checking delay */
  97.  
  98.         do 10
  99.             call SysSleep(2)
  100.             call CharOut ,'#'
  101.         end
  102.         call CharOut ,'0D'x'0A'x
  103.     end
  104. end
  105. else
  106.     say 'Usage: check <host> <userid> <filename> [password]'
  107. exit
  108.  
  109. logout:
  110.  
  111. /* Control Break */
  112.  
  113.     say '0d0a'x || 'Logging off'
  114.     say 'Added' size-size_start 'bytes'
  115.     call FtpLogoff
  116.     say 'Good bye'
  117.     '@pause >nul'
  118.     '@exit'
  119.