home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_02_03 / 2n03076a < prev    next >
Text File  |  1990-11-28  |  2KB  |  59 lines

  1.  
  2. Qecho   off
  3. calias ; rem
  4. ;---------------------- LISTING #l EDITENV.BAT ----------------------
  5. ;   l)   { and } and : characters are used to reference
  6. ;        PRO-CLI SYMBOLS and LOGICALS variables respectively.
  7. ;   2)   The LEXICAL-FUNCTIONS are invoked as { F$function parameters, ... }
  8. ;        LEXICAL-FUCNTIONS used:
  9. ;          F$EOF - is file/stream at End of File
  10. ;          F$CASE -  upper/lower case a string
  11. ;   3)   PRO-CLI commands used:
  12. ;        calias - create a command alias
  13. ;        cdelete - delete a PRO-CLI variable
  14. ;        copen, cclose - open, close a file/stream handle
  15. ;        cwrite, cread - read/write from/to file/stream handle using PRO-CLI
  16. ;                         SYMBOL variable.
  17. if "%1"=="" goto usage
  18. :begin
  19.   ;   SET definitions saved to file.
  20.   set >tdefs.dat
  21.   set BATFILE=%l
  22.   set  EDITOR=%2
  23.   ;   OPEN file handles for the BATFILE, and the sets datafile
  24.   copen /mode=read  input_file tdefs.dat
  25.   copen /mode=write bat_file   %BATFILE%
  26.   Echo  BUILDing new BATFILE "%BATFILE%" with current definitions
  27.   cwrite bat_file "@echo off"
  28. :loop
  29.   ;   Read from input_file (SET) variable=...
  30.   cread input_file token
  31.   if "{f$eof input_file}"=="TRUE"" goto done
  32.   ;   Write to BATFILE "SET" variable=...
  33.   cwrite bat_file "SET {token}"
  34.   goto loop
  35. :done
  36.   ;   Close the input_file, and bat_file
  37.   cclose *file
  38.   del tdefs.dat
  39.   if "%EDITOR%"=="" goto clean
  40.   ;  if EDITOR supplied on command line edit the BATFILE
  41.   %EDITOR% %BATFILE%
  42.   ;   Prompt to run the BATFILE
  43.   cask /LEN=3 /PROMPT=" the BATFILE (Yes or No) ? " response
  44.   if "{f$case {response} upper}"=="YES" call %BATFILE%
  45.   cdelete symbol response
  46.   goto clean
  47. :usage
  48.   echo       EDITS enviroment vars
  49.   echo ...........................................................
  50.   echo .              EDITENV [ (FILE) (EDITOR) ]
  51.   echo .  GETS enviroment variables and CREATES bat file
  52.   echo .  EDITOR to edit the bat file
  53.   echo .   ex)   editenv newset.bat edlin
  54.   echo ...........................................................
  55. :clean
  56.   set BATFILE=
  57.   set EDITOR=
  58.  
  59.