home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / ez-btm11.exe / MAKELIST.BTM < prev    next >
Text File  |  1994-05-04  |  3KB  |  111 lines

  1. : MAKELIST.BTM
  2. : Itamar Even-Zohar, B10@taunivm.bitnet / B10@vm.tau.ac.il (internet)
  3. : Saved July 31, 1992; 'temp' routine fixed August 19, 1992
  4.   
  5. : MAKELIST.BTM creates a list for specified files, then calls this list
  6. : to screen using Buerg's LIST, or 4DOS internal list command, or Nota Bene
  7. : file calling is done via the CA sub-program in my EX.BTM. If this
  8. : does not exist on your disk, Buerg's LIST, or 4dos list will be used.
  9. :   Note:
  10. :   Drive and path are added to each filename in the list. If none is
  11. :   indicated, current path and drive are added. To override, add /d
  12. :   to your command.
  13. : Usage:
  14. : MAKELIST filename(s) [/d]
  15.  
  16. if "%1" == "" goto usage
  17.  
  18. setlocal
  19. call %@search[settemp.btm]
  20. rem   If you have not defined "temp" in your Autoexec.Bat file,
  21. rem   "temp" will be defined as your last available drive. If you
  22. rem   have a ramdrive, the list of files will be created on it;
  23. rem   otherwise, it will be created on the root of your default
  24. rem   drive.
  25. REM check if 'temp' contains a trailing backslash
  26.  
  27. set makelist=%temp%list.tmp
  28.  
  29. iff exist %makelist then
  30.   del /q %makelist
  31.   endiff
  32.  
  33. :exist_file?
  34. if exist %1 goto check_switch
  35. goto notfound
  36.  
  37. :check_switch
  38. iff %@index[%&,/d] lt 0 then
  39. goto check_d&p
  40. endiff
  41.  
  42. :plain_list
  43. rem    This will create a file list without drive and path before
  44. :      each name.
  45. (echo List of files for %@upper[%1] - %_dow, %_date, %_time^echo.
  46.   ^) dir /b %1 >%makelist
  47. goto call_list
  48.  
  49. :check_d&p
  50. rem   The following procedures check if you indicated drive and /or
  51. :     path in your command. If you haven't, either path and / or drive
  52. :     are added before list is created.
  53. iff not %@index[%1,:] gt 0 .and. not %@index[%1,\] ge 0 then
  54.   set f=%_cwd\%1
  55. elseiff %@index[%1,:] gt 0 .and. not %@index[%1,\] ge 0 then
  56.   set f=%1
  57. elseiff not %@index[%1,:] gt 0 .and. %@index[%1,\] ge 0 then
  58.   set f=%_disk:%1
  59. endiff
  60.  
  61. :d&p_list
  62. (echo List of files for %@upper[%f] - %_dow, %_date, %_time^echo.
  63.   ^) dir /fkm %f >%makelist
  64.  
  65. rem   The following procedure is equivalent to the one above; but
  66. rem   4DOS "dir" options are faster and neater.
  67. :     *for %n in (%f) do (
  68. :     echo %n >>%makelist)
  69.  
  70. :call_list
  71. gosub editor
  72. %call %makelist
  73. endlocal
  74. quit
  75.  
  76. :notfound
  77. echo File(s) %@upper[%1] not found
  78. endlocal
  79. quit
  80.  
  81. :usage
  82. text
  83.      
  84.      SYNTAX:
  85.      
  86.      MAKELIST filename(s) [/d]
  87.      
  88.      where /d = no drive & path in front of each filename
  89. endtext
  90. quit
  91.  
  92. :***************** SUB-ROUTINES *************************
  93.  
  94. :editor
  95. iff not "%@search[EX.BTM]" == "" then
  96. set call=ca
  97. else
  98. gosub Buerg
  99. endiff
  100. return
  101.  
  102. :Buerg
  103. rem     Checks if Buerg's LIST exists; else sets
  104. rem     4DOS internal command ("list").
  105. iff not "%@search[list.com]" == "" then
  106. set call=%@search[list.com] %1& /w
  107.  else
  108. set call=*list
  109.  endiff
  110. return
  111.