home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rdebug21.zip / PROFILE.CMD < prev    next >
OS/2 REXX Batch file  |  1993-03-25  |  3KB  |  120 lines

  1. /* PROFILE.REX 06-08-92 22:47 */
  2.  /* run certain housekeeping chores.*/
  3.  /* check status of last session */
  4.  /* check whether new day */
  5.  /* If new day run certain chores */
  6.  /* On daily, weekly, or bi-weekly cycle */
  7.  If arg(1)='?' Then Exit tell('profile')
  8.  trace  ?r
  9.  Arg option runday
  10.  Parse Source sys .
  11.  sys.=0
  12.  If      sys='OS/2'  Then sys.os2=1
  13.  Else If sys='PCDOS' Then sys.dos=1
  14.  Call initial
  15.  Call any_autosave
  16.  Call checknewday
  17.  If newday? Then Call daily
  18.  Else Do
  19.    If n=1 Then Call crash_event
  20.    Else Call every_time_on
  21.  End
  22.  Exit
  23.  
  24.  ANY_AUTOSAVE:
  25.  If state('c:\alert') = 0 Then Do
  26.    Say 'Searching For autosave files...'
  27.    'dir \*.aus /s > \aus'
  28.    If rc<>0 Then Return
  29.    autos='\aus'
  30.    Call lineout autos
  31.    Do 6
  32.      line= linein(autos)
  33.    End
  34.    If word(line,2)<>'Not' Then Do
  35.      Queue 'EMSG The following autosave files exist'
  36.      'X' autos; End
  37.    Call dosDEL 'c:\ALERT'
  38.    Call dosDEL AUtoS
  39.  End
  40.  
  41.  Return; CRASH_EVENT:
  42.  rexx path2'CHORES2' 'chkdsk'
  43.  
  44.  EVERY_TIME_ON:
  45.  Return; DAILY:
  46.  rexx path2'CHORES2' 'chkdsk'
  47.  Return; SUN1:
  48.  SUN2:
  49.  Return; MON1:
  50.  rexx path2'CHORES2' 'clean'/* every 2nd week */
  51.  Return; MON2:
  52.  Return; TUE1:
  53.  Return; TUE2:
  54.  Return; WED1:
  55.  Return; WED2:
  56.  rexx path2'CHORES2 cleanup'
  57.  Return; THU1:
  58.  THU2:
  59.  rexx path2'CHORES2' 'checkcom' /* verify command.com */
  60.  Return; FRI1:
  61.  Return; FRI2:
  62.  Return; SAT1:
  63.  Return; SAT2:
  64.  
  65.  Return; CHECKNEWDAY:
  66.  newday?=0
  67.  date=date('u')
  68.  list='SUN MON TUE WED THU FRI SAT'
  69.  file='c:\LASTDATE.ON'
  70.  Call lineout file
  71.  schedule=linein(file)
  72.  Call lineout file
  73.  Parse Value date('u') With mo '/' day '/' yr
  74.  If yr>80 Then year='19'yr
  75.  Else year='20'yr
  76.  dayname=translate(left(date('w'),3))
  77.  i=wordpos(dayname,list)
  78.  dow=i-1
  79.  next=(dow+1)//7
  80.  If option='SOD' Then Call newday dayname
  81.  Else If schedule<>dayname & schedule<> 'SCHEDULE' Then Call newday dayname
  82.  
  83.  Return; NEWDAY:
  84.  Arg runday
  85.  newday?=1
  86.  Say 'Last Session was:' schedule
  87.  Call lineout file
  88.  'erase' file '>nul'
  89.  Call lineout file, dayname
  90.  Call lineout file
  91.  bi_week=((day%7)//2)+1
  92.  Interpret 'Call' runday''bi_week
  93.  i=wordpos(schedule,list)
  94.  dayssincebkup=(dow+8-i)//7
  95.  
  96.  Return; STATE:
  97.  /* To provide compatibility With state module in Cms & OS2 */
  98.  Arg specs
  99.  If sys.dos Then Do
  100.    If lines(specs) Then src=1
  101.    else src=28; end
  102.  else if sys.os2 then do  /*O*/
  103.    If lines(specs) Then src=1
  104.    else src=28; end
  105.  Else 'STATE' specs
  106.  Return src
  107.  
  108.  INITIAL:
  109.  If sys.DOS Then Do
  110.    userid = translate(dosenv('USERID'))
  111.    rexx='C:\rexx.exe'
  112.    path2='C:\mya\'
  113.    path='F:\'; End
  114.  Else Do
  115.    rexx='call'
  116.    path2='c:\rdebug\'
  117.    path='c:\rdebug\'
  118.    userid=''; End
  119.  Return 0
  120.