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

  1. @echo off
  2. : LED.BTM
  3. : Creates a list of all files with specified filepattern, with
  4. : their pathnames, found on disk, for further handling (1) via COMF.BTM
  5. : (for example, copying, or moving), or (2) via PKZIP (archiving).
  6. :
  7. : Purpose: To make it easier to reorganize hard disk, or create an archive.
  8. :
  9. : It allows to:
  10. : (*) Edit the list on-screen (one file after the other)
  11. :     (accept, omit, delete, view, go to operation, or quit)
  12. :     or
  13. : (*) Edit the list via your editor (change below, at ^^^)
  14. :     or
  15. : (*) Create the list without interference
  16. :     then
  17. : (*) Handle the list via COMF.BTM
  18. :     or
  19. : (*) Handle the list via PKZIP
  20.  
  21. : Written by Itamar Even-Zohar (b10@vm.tau.ac.il)
  22. : (Last edited September 11, 1992, April 6, 1993)
  23.  
  24. : SYNTAX:
  25. : LED [-sMM-DD-YY] filepattern(s)
  26. : ("regular expressions" allowed)
  27. :-----------------------------------------------------------------------
  28. if .%1 == . goto HELP
  29.  
  30. :check_whereis
  31. rem      Finds out if Ledbetter's program is found on your path.
  32. iff "%@search[whereis.exe]" =="" .and. "%@search[SST.exe]" =="" then
  33. echo.
  34. echo You need Ledbetter's SST (formerly WHEREIS) to run this sub-program
  35. quit
  36. endiff
  37.  
  38. setlocal
  39.  
  40. :set_whereis
  41. rem     Sets variable "whereis" to either WHEREIS or SST (whatever is
  42. :       found on disk).
  43. iff "%@search[whereis.Exe]" =="" .and. not "%@search[SST.Exe]" =="" then
  44. set whereis=sst
  45.   else
  46. set whereis=whereis
  47.   endiff
  48.  
  49. :set_temp
  50. call settemp
  51. :: (procedure which determines which drive will be "temp", if
  52. :: not defined by user in autoexec.bat.)
  53.  
  54. :set_default
  55. : (modify items above ^^^, if desired)
  56. set rsp=%@upper[%temp%%0.rsp]
  57. set tmpf=%@unique[%temp]
  58. set edt=ped.exe
  59. rem     ^^^^^^^ (change as desired)
  60. set zipfn=%temp%%0.zip
  61. rem       ^^^^^^^^^^^^ (change as desired)
  62.  
  63. :make_list
  64. %whereis %& -o"&f" > %rsp
  65. cls
  66.  
  67. :edit?
  68. echo.
  69. inkey /K"SEOQ" S(creen) edit? E(ditor)? (O)perate, or Q(uit)  %%rep
  70. cls
  71. iff %rep == %@char[27] .or. %rep == O then goto see_file?
  72. elseiff %rep == Y .or. %rep == @28 .or. %rep == S then ^set num=0^goto edit
  73. elseiff %rep == E then goto editor
  74. elseiff %rep == Q then set ech=echo %0 terminated by user; %rsp left intact^goto end
  75. endiff
  76.  
  77. :edit
  78. rem   This procedure displays all the files whose pattern was specified,
  79. :     one by one, allowing you to (a) accept, or (b) delete, or (c) view
  80. :     a file before making a decision, or (d) view the list of selections,
  81. :     or (e) stop selecting and go to next application, or (f) quit.
  82. :
  83. iff %@eval[%num] gt %@lines[%rsp] then
  84.   move /q %tmpf %rsp
  85.   goto see_file?
  86.   endiff
  87. set fn=%@line[%rsp,%num]
  88. scrput 0 0 black on white  Accept=A/enter Omit=O/Esc D=Delete V=View G=Begin application L=View list Q=Quit 
  89. echo.
  90.   iff %_row lt 2 then
  91.   screen 2 0
  92.   endiff
  93. echo ==`>` %fn
  94.   iff %_row ge %@eval[%_rows -1] then
  95.   cls
  96.   goto edit^endiff
  97. inkey /K"YNAODVGLQ[ESC][Enter]" (A)ccept? (O)mit? D(elete)? V(iew)? G(o)? (L)ist Q(uit)?  %%rep
  98. iff %rep == %@char[27] .or. %rep == O .or. %rep == N then
  99.      set num=%@eval[%num +1]
  100.      goto edit
  101. elseiff %rep == A .or. %rep == @28 .or. %rep == Y then
  102.      echo %fn >>%tmpf
  103.      set num=%@eval[%num +1]
  104.      goto edit
  105. elseiff %rep == D then
  106.      del /q %fn
  107.      echo ==`>` %fn deleted^echo.
  108.      set num=%@eval[%num +1]
  109.      goto edit
  110. elseiff %rep == V then
  111.      *list %fn
  112.      echo.^goto edit
  113. elseiff %rep == G then
  114.      set num=%@eval[%@lines[%rsp]+1]
  115.      goto application?
  116. elseiff %rep == L then
  117.      *list %tmpf
  118.      echo.^goto edit
  119. elseiff %rep == Q then set ech=echo.^echo %0 interrupted by user; %rsp left intact^goto end
  120.    endiff
  121.  
  122. :see_file?
  123. echo.
  124. inkey /K"YNQ[ESC][Enter]" See list of filenames? (Y/N)?  %%rep
  125.   iff %rep == %@char[27] .or. %rep == N then goto application?
  126.   elseiff %rep == Y .or. %rep == @28 then
  127.   *list %rsp
  128.   endiff
  129.  
  130. :application?
  131. cls
  132. echo.
  133. inkey /K"CPQ[ESC][Enter]" Handle file via (C)omfile? (P)kzip, or (Q)uit?  %%rep
  134.   iff %rep == C then goto comfile
  135.   elseiff %rep == P then goto pkzip
  136.   elseiff %rep == Q then
  137.      set ech=echo %0 terminated by user; %rsp left intact
  138.      goto end
  139.   endiff
  140.  
  141. :editor
  142. %edt %rsp
  143. goto application?
  144.  
  145. :comfile
  146. input Type desired comfile command: %%cmd
  147. call comf %rsp %cmd
  148. set ech=
  149. goto end
  150.  
  151. :pkzip
  152. echo.
  153. inkey (P)athnames? (N)ames only? (Q)uit? %%rep
  154.   iff %rep == P then
  155.       set pkz=pkzip -b%temp -P
  156.   elseiff %rep == N then
  157.       set pkz=pkzip -b%temp -u
  158.   elseiff %rep == Q then goto end
  159.   endiff
  160.  
  161. echo.
  162. echo Type name of ZIP file (or 'enter' for default name)
  163. input --`>` %%rep
  164. iff "%rep"=="" then
  165.    set zipfn=%zipfn
  166. else
  167.    set zipfn=%rep.zip
  168. endiff
  169.  
  170. :zip
  171. cls
  172.   iff not exist %zipfn then set msg1=Creating
  173.     else
  174.      set msg1=Updating
  175.   endiff
  176. scrput 1 0 bla on whi    %msg1 %@upper[%zipfn]   Wait ...
  177. screen 3 0
  178. %pkz %zipfn @%rsp
  179. gosub success
  180. goto end
  181.  
  182. :end
  183. if exist %tmpf del /q %tmpf
  184. echo.
  185. %ech
  186. endlocal
  187. quit
  188.  
  189. :-------------------HELP text-------------------------
  190. :help
  191. echo.
  192. echo  %0.BTM creates a list of all specified filepattern(s), with
  193. echo  their pathnames, for further handling (1) via COMF.BTM
  194. echo  (for example, copying, or moving), or (2) via PKZIP (archiving).
  195. echo. 
  196. echo  Syntax is:
  197. echo  %0 [-sMM-DD-YY] filepattern(s)
  198. echo  ("regular expressions" allowed)
  199. echo. 
  200. echo  examples:
  201. echo  %0 *.txt *.doc *.rep
  202. echo     (for all *.txt *.doc *.rep files)
  203. echo  %0 "docu"
  204. echo     (for files with the string "docu" anywhere in name)
  205. echo  %0 -s4-3-93 *.txt *.doc *.rep
  206. echo     (for *.txt, etc., files created after 3rd April 1993)
  207. quit
  208.  
  209. :==================SUB-ROUTINES=======================
  210. :success
  211. rem     Checking results of archiving (with pkzip)
  212. iff errorlevel eq 12 then
  213. set ech=echo No archive created /updated
  214.  else
  215. set ech=echo Archive %@upper[%zipfn] succesfully created /updated
  216.  endiff
  217. return
  218.