home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / system_utils / general / jmenu / unpack < prev    next >
AmigaDOS Script File  |  1991-02-17  |  3KB  |  100 lines

  1. .KEY source/k,dest/k,label/k
  2. .DEF source "dh1:telecom/downloads/"
  3. .DEF dest "ram:"
  4. .DEF label FirstMenu
  5. ;
  6. failat 20
  7. skip <label>
  8. ; -------------------------------------------------------------------------
  9. ; This is a script using JMenu. It allows you to select an 
  10. ; archive program (LHarc, Zoo, etc.) and a file to unpack.
  11. ;
  12. ; format: execute unpack (SOURCE SourceDir) (DEST DestDir)
  13. : note: if the source or destination are subdirectories they must end
  14. ;       with a "/"
  15. ; -------------------------------------------------------------------------
  16. lab FirstMenu
  17. ;
  18. ; show archive programs menu
  19. ;    'unpack.menu1' contains the menu definition
  20. ;    'selection1' is the environment variable which will equal the
  21. ;        user's choice
  22. ;
  23. JMenu >NIL: s:unpack.menu1 selection1
  24. if $selection1 eq 1
  25.    quit   ;user selected Quit from menu
  26. endif
  27. if $selection1 eq 2
  28.    Pkazip
  29.    skip SKIPFIRST
  30. endif
  31. ;
  32. ; If choice 3, 4 or 5 build a menu of available files.
  33. ; An error will occur if there are more files than can be displayed on
  34. ; the menu.
  35. ;
  36. setenv dcsource <source>
  37. cd <source>
  38. if $selection1 eq 3   ;display menu of #?.lzh
  39.    echo >ram:dir.menu "TITLE Directory of LZH files"
  40.     echo >>ram:dir.menu "TITLE Choose a file to unpack"
  41.     echo >>ram:dir.menu "MENU Never mind"
  42.     echo >>ram:dir.menu "EXEC"
  43.     list >>ram:dir.menu #?.lzh LFORMAT="MENU %s"
  44.     list >>ram:dir.menu #?.lzh LFORMAT="EXEC SetEnv dcfile %s"
  45.     setenv dcmethod Lharc
  46.     setenv dcstring " -x -m -a e "
  47. endif
  48. if $selection1 eq 4   ;display menu of #?.zoo
  49.    echo >ram:dir.menu "TITLE Directory of ZOO files"
  50.     echo >>ram:dir.menu "TITLE Choose a file to unpack"
  51.     echo >>ram:dir.menu "MENU Never mind"
  52.     echo >>ram:dir.menu "EXEC"
  53.     list >>ram:dir.menu #?.zoo LFORMAT="MENU %s"
  54.     list >>ram:dir.menu #?.zoo LFORMAT="EXEC SetEnv dcfile %s"
  55.     setenv dcmethod Zoo
  56.     setenv dcstring " e "
  57. endif
  58. if $selection1 eq 5   ;display menu of #?.arc
  59.    echo >ram:dir.menu "TITLE Directory of ARC files"
  60.    echo >>ram:dir.menu "TITLE Choose a file to unpack"
  61.     echo >>ram:dir.menu "MENU Never mind"
  62.     echo >>ram:dir.menu "EXEC"
  63.     list >>ram:dir.menu #?.arc LFORMAT="MENU %s"
  64.     list >>ram:dir.menu #?.arc LFORMAT="EXEC SetEnv dcfile %s"
  65.     setenv dcmethod Arc
  66.     setenv dcstring " e "
  67. endif
  68. ;
  69. lab SecondMenu
  70. ;
  71. ; show file names menu
  72. ;    'dir.menu' contains the menu definition
  73. ;    'selection2' is the environment variable which will equal the
  74. ;        user's choice
  75.  
  76. jmenu >nil: ram:dir.menu selection2
  77. if ERROR
  78.    echo "Too many files to display on menu."
  79.     quit
  80. endif
  81. if $selection2 eq 1        ;never mind was chosen
  82.     skip SKIPFIRST
  83. endif
  84. ;
  85. ;  create single line script to execute selected program with parameters
  86. ;
  87. join env:dcmethod env:dcstring env:dcsource env:dcfile AS ram:temp
  88. cd <dest>
  89. execute ram:temp
  90. skip SKIPSECOND
  91. ;
  92. ;  since you can't skip backwards, re-execute this script with a label name
  93. ;
  94. lab SKIPSECOND
  95. execute unpack SOURCE <source> DEST <dest> LABEL SecondMenu
  96. quit
  97. lab SKIPFIRST
  98. execute unpack SOURCE <source> DEST <dest>
  99. quit
  100.