home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / ez-btm11.exe / COMPARE.BTM < prev    next >
Text File  |  1994-01-09  |  2KB  |  90 lines

  1. @echo off
  2. : COMPARE.BTM
  3. : March 21, 1992, Itamar Even-Zohar
  4. : Edited: March 7, 1993
  5.  
  6. : Allows ommitting output filename when comparing files with CompareRite.
  7. : (I wrote it because I often forget to invent such an output filename.)
  8. : This batch file creates an output filename by using the name of the
  9. : second file, adding the extension CMP to it.
  10. : The CMP file will be created in the current path even if one, or both, of
  11. : the files compared is/are in a different path.
  12. : *Note:* If no filename is used, COMPARE runs in menu mode.
  13. :
  14. : CompareRite (c) by JURISoft Inc., 763 Massachusetts Ave., Cambridge,
  15. : MA 02139 (phone [617] 864-6151) is a program for versions comparison.
  16.  
  17. if "%&" =="" goto RUN
  18. if "%3" =="" goto OUTPUT
  19.  
  20. :RUN
  21. %@search[compare.Com] %1&
  22. goto EXIT
  23.  
  24. :OUTPUT
  25.  
  26. rem check first if the files to be compared exist!
  27. iff not exist %1 .AND. not exist %2 then
  28. beep^Echo both File %@upper[%1] and File %@upper[%2] do not exist
  29. quit
  30. endiff
  31.  
  32. iff not exist %1 .OR. not exist %2 then
  33. goto :exist?
  34. else
  35. goto CHECK
  36. endiff
  37.  
  38. :exist?
  39. iff not exist %1 then
  40. beep^Echo File %@upper[%1] does not exist; aborted
  41. quit
  42. endiff
  43. iff not exist %2 then
  44. beep^Echo File %@upper[%2] does not exist; aborted
  45. quit
  46. endiff
  47.  
  48. :check
  49. gosub CHECKBACK
  50. iff %@INDEX[%2,.] ge 0 then
  51.   set num=%@INDEX[%second,.]
  52.   set third=%@SUBSTR[%second,0,%num].Cmp
  53.   compare.Com %1 %2 %third
  54. else
  55.   set third=%second.Cmp
  56.   compare.Com %1 %2 %third
  57. endiff
  58.  
  59. echo.
  60. echo ==`>` OUTPUT file name is: %@UPPER[%third]
  61. unset num second third
  62. quit
  63.  
  64. :CHECKBACK
  65.  
  66. rem  This routine checks if one or more backslashes are contained
  67. rem  in the second filename, using a loop parsing to get the filename
  68. rem  without its path for creating the name of the output file.
  69.  
  70. iff %@index[%2,\] ge 0 then
  71. :PARS
  72.   set num=%@EVAL[%@index[%2,\]+1]
  73.   set second=%@substr[%2,%num]
  74. goto 2check
  75.   else
  76.     set second=%2
  77.     return
  78. endiff
  79.  
  80. :2check
  81. iff %@index[%second,\] ge 0 then
  82.   set num=%@EVAL[%@index[%second,\]+1]
  83.   set second=%@substr[%second,%num]
  84. goto 2check
  85.   else
  86.    return
  87. endiff
  88.  
  89. :EXIT
  90.