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

  1. :COMFILE.BTM (=execute a command on a take file)
  2. : Itamar Even-Zohar, Tel Aviv University (itiez@ccsg.tau.ac.il)
  3. : (See detailed description below, :description, or type COMFILE h)
  4. : The loops have not been re-written with the new version 5.x options.
  5.  
  6. if "%&"=="" goto syntax
  7. if "%1"=="h" goto description
  8.  
  9. :checkfile
  10. iff not exist %1 then^echo %@upper[%1] not found^quit^endiff
  11.  
  12. :lines
  13. setlocal
  14. set lines=%@LINES[%1]
  15. set linenum=%@eval[%LINES+1]
  16. echo There are %linenum lines in %@upper[%1]
  17. echo.
  18. echo.
  19. set counter=0
  20. set num=0
  21.  
  22. :loop
  23. if %counter gt %lines goto loopdone
  24. set curline=%2 %@line[%1,%num] %3
  25. %curline
  26.  
  27. set counter=%@eval[%counter + 1]
  28. :Set lines=%@eval[%lines - 1]
  29. set num=%@eval[%num + 1]
  30. goto loop
  31.  
  32. :loopdone
  33. echo.
  34. echo Command "%@upper[%2]" executed for all %linenum files
  35. endlocal
  36. quit
  37.  
  38. ::-------------- Description and HELP --------------------
  39. :syntax
  40. cls
  41. screen 2 0
  42. text
  43.   SYNTAX:
  44.   COMFILE filename command [target]
  45.  
  46.   Reads a specified file which contains a list of filenames, and executes
  47.   desired operation on each of the filenames, one by one.
  48.  
  49.   EXAMPLE:
  50.   COMFILE FILELIST COPY A:
  51.   will copy all files specified in FILELIST to drive A:
  52.  
  53.   For further details type COMFILE h
  54.  
  55. endtext
  56. quit
  57.  
  58. :description
  59. cls
  60. screen 1 0
  61. text
  62.  
  63.   COMFILE.BTM works as follows: it first finds out how many lines
  64.   are contained in the specified file. It then puts the first line
  65.   with the desired command, and goes to the next, until it exhausts
  66.   all lines. It starts with counter "0", adding 1 with each line.
  67.   When the counter is greater than the number of lines (counted
  68.   from the second line, which is registered as "1" by 4DOS), the
  69.   program stops. Note that version 5.x of 4DOS allow more elegant
  70.   loops.
  71.  
  72.   Note:
  73.   COMF.BTM executes the same operation with more elegant procedures.
  74.   
  75. endtext
  76. quit
  77.