home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / jambtm02.exe / EVALUATE.BTM < prev    next >
Text File  |  1992-11-15  |  2KB  |  51 lines

  1. *REM This batch file is Freeware, free to use and redistribute unmodified *
  2. *REM Jouni Miettunen * jon@stekt.oulu.fi * Oulu * Finland * Europe * 1992 *
  3.  
  4. *REM Evaluate an average running time for an alias/command/program.
  5. *REM Note: trouble with redirection again. evaluate wc<file.txt 5 doesn't work.
  6. *REM Timestamp 15-Nov-1992
  7.  
  8. *REM Can't do "unalias *" in case u want to execute an alias, so I've tried
  9. *REM to drop *'s all over the place, hope there's enough B*)
  10.  
  11. *break on^*setlocal^*if %# != 2 .or. "%@int[%2]" != "%2" *goto info
  12.  
  13. *REM Find out what is the command. Are there quotes? Prepare log file.
  14.  
  15. *set c=%1^*if %@ascii[%c]==34 *set c=%@substr[%c,1,%@eval[%@len[%c]-2]]
  16. *set index=%2^*echo ----- Run at %_date %_time>>%@name[%@word[0,%c]].log
  17. *set base=%@lines[%@name[%@word[0,%c]].log]
  18.  
  19. *REM Execute "command" for a "number" times and record elapsed time into log
  20.  
  21. :period
  22. *timer>nul^%@exec[%c]>&nul^*timer>>%@name[%@word[0,%c]].log^*set index=%@eval[%index-1]
  23. *if %index gt 0 *goto period
  24.  
  25. *REM Calculate average running time
  26.  
  27. *echos Calculating average running time, please wait...
  28. :loop
  29. *set index=%@eval[%index+1]^*set a=%@line[%@name[%@word[0,%c]].log,%@eval[%base+%index]]
  30. *set total=%@eval[%total+%@substr[%@word[-0,%a],4,-5]+%@substr[%@word[-0,%a],7,-2]*60]
  31. *if %index lt %2 *goto loop
  32.  
  33. *set total=%@eval[%total/%2]
  34. *screen %_row 0 
  35. *echo ----- Average running time of [ %@upper[%c] ] was %total seconds|*tee/a %@name[%@word[0,%c]].log
  36. *goto end
  37.  
  38. :info
  39. *echo Usage: %@lower[%@name[%0]] command number
  40. *text
  41.  
  42. Runs command number times, creates a log file and calculates average running
  43. time. I've presumed no command runs over an hour. You may want to fix that..
  44. If command needs arguments, place the command in quatation marks.
  45.  
  46. *endtext
  47. *echo Example:    %@lower[%@name[%0]] "df -a" 10
  48.  
  49. :end
  50. *break off^*quit
  51.