home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 6 File / 06-File.zip / vgo11a.zip / GO.DOC < prev    next >
Text File  |  1994-01-25  |  34KB  |  582 lines

  1. Oh, no!  NOT ANOTHER README FILE!
  2.  
  3. GO.CMD Copyright (c)1993-94 by M.O.S.E.S./Kari Jackson.  All rights reserved.
  4.        Midlands OS/2 Enhancement Society
  5.        Bart Toulouse and Kari Jackson
  6.        January 2, 1994
  7.  
  8. System requirements
  9.        OS/2 2.1.  (We have no reason to suspect that it would not work
  10.               with 2.0, but it's never been tested that way since we
  11.               couldn't get anyone to reinstall it just to test this
  12.               program for us.)
  13.        REXX support installed.
  14.  
  15. Instructions
  16.        In addition to this GO.DOC file, GO.CMD incorporates an online
  17.        help feature.  From the commandline, simply type "GO /?" or just
  18.        "GO" with nothing after it to see the instructions for syntax and
  19.        usage.  Of course, if you go this route instead of reading this
  20.        file, and then you get into trouble, it won't be our fault!
  21.  
  22. Installing GO
  23.        After you've unzipped the file, you have two options to max-
  24.        imize the utility of GO.  Either put the GO.CMD file into an
  25.        existing directory that is already in your path variable, or
  26.        create a directory, edit the path variable in your CONFIG.SYS
  27.        file to include that directory, move GO.CMD there, and reboot
  28.        your computer.  That's about it!
  29.  
  30. GO.CMD's Purpose and Usage
  31.        This program is a commandline-based front end which works with
  32.        commonly used commands like DEL, COPY, and others to help you
  33.        manage files more effectively.  It allows you to work with just
  34.        the files that match a particular set of sizes, dates, and/or
  35.        attributes.  One of the really neat features of this utility is
  36.        it allows you to manipulate files in locations very far-removed
  37.        from where you happen to be.  For instance, let's say you were
  38.        located in a directory called C:\TOP\SUB\SUBSUB, and you suddenly
  39.        wanted to edit a file called "LETTER", which happened to be in
  40.        D:\BOTTOM\SUB\SUBSUB.  With GO, all you'd have to type would be
  41.        "GO EDIT LET" rather than "EDIT D:\BOTTOM\SUB\SUBSUB\LETTER".  GO
  42.        and your editor will do the rest.  (Of course this is assuming
  43.        your editor's name is EDIT!)  By default (if you take no action
  44.        to limit the search), GO will look at every directory on every
  45.        drive beyond B: (including CD-ROM drives, if a data disk is
  46.        present).  If you don't want to look at every hard drive you
  47.        have, GO supports several limits to scope.  You can limit the
  48.        search to a specific drive, or just a specific directory, with or
  49.        without its subdirectories, or you can tell GO to skip a certain
  50.        drive or drives.  You can even tell GO to search A: and B: as
  51.        well if you so desire.  Read the "Command Syntax" section to find
  52.        out how to do these things.
  53.  
  54.        When GO.CMD is done searching for all the files that fit the
  55.        specifications you've asked for, it shows you the filenames (one
  56.        screenful at a time) along with a list of your options.  You can
  57.        choose all the files, or some of the files, or none of the files,
  58.        or you can choose all the files except a chosen few.  Then GO.CMD
  59.        will execute DEL, COPY, EDIT, or whatever command you've typed,
  60.        once for each and every filename you've selected (unless you've
  61.        used the /1 switch to tell GO to execute one long command instead
  62.        of one command for each selected filename).
  63.  
  64.        Here's what the display of the filenames will look like:
  65.           1.  09/26/93     29998   -----   E:\util\GO.CMD
  66.           2.  09/26/93     35360   A----   E:\util\source\GO.SRC
  67.           3.  09/26/93     24639   ---R-   E:\util\source\go.doc
  68.           4.  09/24/93    129624   -----   E:\vgo\VGO.EXE
  69.           5.  09/26/93      3148   -----   E:\vgo\vgo.olh
  70.        The only part that's not self-explanatory is the part between the
  71.        sizes and the filenames.  That is the attributes display.  In the
  72.        example above, the first file has no attributes, the second file
  73.        has an Archive attribute, and the third file has a Read-only
  74.        attribute.  Every file has five possible attributes.  (Six,
  75.        actually, but REXX ignores the Volume attribute.)  The five are
  76.        Archive, Directory, Hidden, Read-only, and System.  The five
  77.        places in the attributes display represent those five attributes,
  78.        and they're in alphabetical order.  If a file had all five
  79.        attributes (which would be rather difficult since directories
  80.        never have Archive attributes), its attribute display above would
  81.        say ADHRS.  --H-S would be a Hidden System file.  Etc.  You'll
  82.        never see a D in column two of GO's attributes display, since GO
  83.        doesn't show you any directory names.
  84.  
  85.        Here's what you'll see below the filenames GO finds for you:
  86.               Type  ALL           to select  all of  these files.
  87.               Type  <Enter>       to select  none of these files.
  88.               Type  1 14 23 38    to select  some of these files.
  89.               Type  14 - 23       to select  a  range  of  files.
  90.               Type  - 1 14 23 38  to exclude some of these files.
  91.               Type  - 14 - 23     to exclude  a range  of  files.
  92.               Type  SKIP          to skip the rest of the search.
  93.               Type  QUIT          to abort this entire operation.
  94.        1 14 23 38 means that's what you type if you want to select the
  95.        files that are displayed on the screen next to those four
  96.        numbers.  If you want only file #7, then you type just 7.  If you
  97.        want files 12 and 27, you type 12 27.  The numbers in that
  98.        display are only examples to remind you what options you have.
  99.        They're not to be taken literally.  And SKIP means that you don't
  100.        want any of the files on this page and you don't want to continue
  101.        the search; you just want to go ahead and execute your command
  102.        with whatever files you had already chosen on previous pages.
  103.        All of these options apply only to the files displayed on this
  104.        particular page.  For example typing "ALL" chooses all the
  105.        filenames you see displayed at the moment, but has no effect on
  106.        earlier or later pages of filenames.  QUIT exits the GO.CMD
  107.        operation without executing any commands at all.
  108.  
  109.        As an example, if you were to execute the command
  110.        GO EPM .DOC
  111.        then GO would search all of your drives, C: and higher, for *.DOC
  112.        files.  Then it would show you a list of those files, followed by
  113.        those eight lines of stuff we talked about already, that start
  114.        like this:
  115.               Type  ALL           to select  all of  these files.
  116.               Type  <Enter>       to select  none of these files.
  117.               [Etc.]
  118.        Now if you picked the files named C:\ONE.DOC, D:\UTIL\THREE.DOC,
  119.        and E:\DIRNAME\SUBDIR\SEVEN.DOC, then GO would pass the following
  120.        commands to the operating system, one right after the other:
  121.        EPM C:\ONE.DOC
  122.        EPM D:\UTIL\THREE.DOC
  123.        EPM E:\DIRNAME\SUBDIR\SEVEN.DOC
  124.        Or if your editor supports more than one filename on its command-
  125.        line, you could use GO's /1 (that's a "one") switch to tell GO to
  126.        execute just one long command:
  127.        EPM C:\ONE.DOC D:\UTIL\THREE.DOC E:\DIRNAME\SUBDIR\SEVEN.DOC
  128.        instead, if you like.  There are quite a few commandline switches
  129.        you can use to tell GO.CMD to act a bit differently.  Read about
  130.        them under the "Command Syntax" heading.
  131.  
  132. HPFS and Long Filenames
  133.        GO will work with the long filenames with spaces in them, which
  134.        HPFS supports.  However, these long filenames must be surrounded
  135.        by quotation marks ("Long, complicated filename"), just like when
  136.        they are used in other commandline situations.
  137.  
  138. Switch Characters
  139.        You can use - in place of / for any switches, as you prefer.
  140.        Just one thing though---the /CH and /CT switches generally come
  141.        in pairs.  The pairs absolutely must match each other!  You can't
  142.        use /CT with -CT, or vice versa.  The program won't work if you
  143.        do.  Also, the letters in switches can be uppercase or lowercase.
  144.        It won't make a bit of difference to GO.  /D and /d are exactly
  145.        the same as far as GO can tell.  Again, the exception to that is
  146.        the /CT and /CH switches.  You can't use /CT with /ct, or /ch
  147.        with /CH.
  148.  
  149. Disclaimer
  150.        While this Program has been thoroughly reviewed and tested, it is
  151.        provided solely "as is" and without warranty of any kind.
  152.        M.O.S.E.S., Kari Jackson, and Bart Toulouse specifically disclaim
  153.        all warranties, expressed or implied, including but not limited
  154.        to implied warranties of merchantability and fitness for a
  155.        particular purpose with respect to defects in any portion of the
  156.        package.  In no event shall M.O.S.E.S., Kari Jackson, or Bart
  157.        Toulouse be liable for any loss of profit or any other damage,
  158.        including but not limited to special, incidental, commercial,
  159.        consequential or other damages of any kind resulting from defects
  160.        in this software or its documentation.  USE THIS PROGRAM AT YOUR
  161.        OWN RISK.
  162.  
  163. Shareware
  164.        This Program is shareware, not freeware.  What that means is
  165.        this:  It may be freely distributed to anyone as long as all of
  166.        its files and documentation are distributed together.  It may be
  167.        freely used for evaluation purposes, to decide whether you like
  168.        it.  If you do like it and want to continue using it, you are
  169.        supposed to register it.  We will not have you arrested or sue
  170.        you if you don't, but you should feel guilty about it if you have
  171.        a conscience.  Using someone else's work without their permission
  172.        is against the law, and we do not give you permission to use
  173.        GO.CMD longer than necessary for evaluation purposes (like about
  174.        a month) unless you register it.
  175.  
  176.        To register GO.CMD alone (meaning you do not want to also use
  177.        VGO, the graphical version), just send $5 to Kari Jackson
  178.                                                     3201 Monroe Street
  179.                                                     Omaha NE 68107-4048
  180.        Registering VGO (the graphical version) automatically entitles
  181.        you to use GO as well, so you need not register GO separately if
  182.        you register VGO.  And of course all future versions of GO are
  183.        free to registered users of an earlier version.
  184.  
  185.        Sorry, we won't send you a registered copy of the program since
  186.        the shareware version just does not have one single disabled
  187.        feature, so there's no reason to.  <grin>
  188.  
  189. Command Syntax
  190.        This is the COMPLETE syntax.  If you want a brief overview just
  191.        to remind yourself of something, type GO /? for the online help.
  192.  
  193.        GO [command] [filespec] [switches]
  194.  
  195.        GO is the word that causes OS/2 to execute GO.CMD.  If GO.CMD is
  196.        in a directory on your PATH, then you can execute it from
  197.        whatever directory you happen to be in.  If you want to rename it
  198.        to something else, like, well, STOP.CMD for all we care, that
  199.        would be fine, and you'd just type STOP everywhere that the
  200.        instructions tell you to type GO.
  201.  
  202.        [command] is the command you want GO to execute for you.  It can
  203.        be pretty much any command that takes a filename as a parameter!
  204.        Likely candidates include:  DIR, COPY, REN, E(ditor), VIEW, (need
  205.        we go on?).  The command can be located anywhere on your system,
  206.        so long as the directory it's in is included in the PATH
  207.        variable, or the command is internal or in the current directory,
  208.        or you specify its pathname on the commandline.  Just like any
  209.        other command you try to execute.  Because all GO is going to do
  210.        is pass the command to the commandline after you've chosen the
  211.        filenames to execute it with.  So the command is going to be
  212.        executed the same way as if you were executing it without using
  213.        GO at all---according to the rules your operating system uses for
  214.        finding the executable code for any command you try to execute.
  215.  
  216.        NOTE:  [command] has to be the first thing on the commandline
  217.        after the word "GO".  The position of the rest of the stuff on
  218.        the commandline doesn't much matter as far as GO.CMD is
  219.        concerned, but the [command] simply must be first.
  220.  
  221.        [filespec] is the filename or file specification you want GO to
  222.        find for you.  If you don't specify any filename, GO will assume
  223.        that you mean *.* which stands for all files, regardless of name
  224.        or extension.  If your specification does not contain a period or
  225.        an asterisk, GO will append *.* to the end of it---so if you tell
  226.        GO to search for LET it will search for LET*.* without making you
  227.        type the asterisks.  If your specification starts with a period,
  228.        GO will prepend * to it----so if you tell it to find .INI it will
  229.        actually search for *.INI without making you type the asterisk.
  230.        And your filespec cannot contain a \, which means it can't
  231.        contain directory name information.  One of the main reasons for
  232.        GO is so that you can do things without specifying the location
  233.        of a file you want to work with.  (Of course if you do want to
  234.        limit the search to a particular directory, you can use the /D
  235.        switch.)  Other than those few differences, the filespec is
  236.        specified in GO the same way it would be in any other commandline
  237.        utility, using wildcards, or whatever.
  238.  
  239. Passing parameters to the [command]
  240.        GO.CMD needs to have some way of knowing whether a /S you type on
  241.        its commandline is supposed to be its own /S switch, or whether
  242.        you want that /S to belong to the [command].  So if the command
  243.        you want to execute wants any parameters other than the name of
  244.        the file you want it to work with, then you'll need to use
  245.        GO.CMD's /CH and/or /CT switches to pass those parameters to the
  246.        command.  /CH stands for Command Head, and /CT stands for Command
  247.        Tail.  Anything that should go on the command's commandline
  248.        before the filename, would be part of the Command Head, and
  249.        anything that should go on the command's commandline after the
  250.        filename, would be part of the Command Tail.
  251.  
  252.        For example, when you want to turn on a file's Read-only
  253.        attribute, you do that by saying ATTRIB +R FILENAME.EXT.  So if
  254.        you are using GO.CMD to do that, the "+R" would be considered to
  255.        be the Command Head since it goes between the command and the
  256.        filename.
  257.  
  258.        So in order to get GO.CMD to ignore the +R, and not try to
  259.        interpret it, and just pass it straight through to the ATTRIB
  260.        command, you have to surround the +R on your commandline with /CH
  261.        switches.  Like this:
  262.        GO ATTRIB /CH +R /CH *.*
  263.  
  264.        Or when you want to copy a file to your B: drive and use the COPY
  265.        command's /V switch, you do it by saying COPY FILENAME.EXT B: /V.
  266.        So with GO, since the "B: /V" comes after the filename on the
  267.        COPY command's commandline, that means you want it to be the
  268.        Command Tail.
  269.  
  270.        So in order to get GO.CMD to ignore the B: /V and just pass it to
  271.        the COPY command, you surround it with /CT switches like this:
  272.        GO COPY /CT B: /V /CT *.*
  273.  
  274.        If your /CH stuff or your /CT stuff is the last thing you're
  275.        putting on GO.CMD's commandline, then you can leave off the
  276.        second /CH or /CT switch.  For example,
  277.        GO ATTRIB *.* /CH +R
  278.        GO COPY *.* /CT B: /V
  279.  
  280.        So after GO.CMD has done its job of finding the files you might
  281.        want to work with and letting you choose exactly which of those
  282.        are the ones you wanted, it passes the following information to
  283.        the operating system's commandline for execution, one time for
  284.        each filename you chose:
  285.        [command] [command head] [filename] [command tail]
  286.  
  287.        GO.CMD will attempt to interpret everything that's not surrounded
  288.        by /CH or /CT switches (with the exception that if a /CH or /CT
  289.        string is at the end of the commandline, it need only be started
  290.        by /CH or /CT, not surrounded by them).  So everything on your
  291.        commandline that is surrounded by /CH or /CT switches must be
  292.        something that your [command] can understand, and everything that
  293.        isn't surrounded by /CH or /CT switches must be something that
  294.        GO.CMD can understand---which means any of the following:
  295.  
  296. GO.CMD's own switches
  297.  
  298. /A Attributes                          /A+A+R+S+H-A-R-S-H*A*R*S*H
  299.        This switch allows you to specify which files GO will act on, by
  300.        file attributes.  It must be used with at least one of the
  301.        additional parameters listed above.  It can be used with as many
  302.        of its additional parameters as you want as long as what you're
  303.        trying to specify makes sense.  (Actually the program isn't going
  304.        to check to see whether it makes sense or not---that's up to
  305.        you.)  If you use a plus, that means you're ONLY looking for
  306.        files that do have that attribute turned on.  If you use a minus,
  307.        that means you're ONLY looking for files that do not have it
  308.        turned on. If you want GO to look for both files that do and
  309.        files that don't have a particular attribute, you use the *
  310.        modifier instead of a + or -.  (There's not much point in ever
  311.        specifying *A, -R, -S, or -H here, since those are the defaults.
  312.        But GO.CMD will accept them if you get carried away and type
  313.        them.  So you don't have to work hard to remember that it would
  314.        not make sense to use them.)
  315.  
  316.        EXAMPLES:  /A-A+R would look for just the files that have no
  317.        Archive attribute, do have the Read-only attribute, and do not
  318.        have the Hidden or System attributes (since -H and -S are
  319.        defaults and /A-A+R doesn't tell GO anything different, in
  320.        relation to H and S attributes).  /A+R+H would search only for
  321.        files that have R and H attributes, and do not have S attributes
  322.        and may or may not have A attributes (since -S and *A are the
  323.        defaults and /A+R+H doesn't say otherwise, in relation to S and A
  324.        attributes).  /A*R*H*S means all files, period, since the default
  325.        already includes *A files.  /A-A*R*S*H would mean every file on
  326.        your entire system that has its Archive attribute turned off,
  327.        including Hidden, System, and Read-only ones.
  328.  
  329.        NOTE:  Commands which won't work on files with special attributes
  330.        (like COPY on +H files) will not suddenly start working when used
  331.        with GO either.  If you use the /A+H switch to tell GO to only
  332.        show you hidden files, and then pass one of them to the COPY
  333.        command, the only thing COPY is going to do is say "File not
  334.        found" just as it would if you executed COPY without GO, with a
  335.        hidden file's name as the source file.  The exception to this
  336.        paragraph is the DEL or ERASE command.  Because when [command] is
  337.        DEL or ERASE, GO will remove any H, S, and/or R attributes from
  338.        files before passing the DEL or ERASE commands to the operating
  339.        system, for your convenience.
  340.  
  341. /E and /L Earlier and Later            /E071093
  342.                                     or /L-25
  343.        Limits the search to files updated on or earlier than (for /E) or
  344.        on or later than (for /L) the date specified.  If you don't use /
  345.        or - to separate the month, day, and year of the date, then they
  346.        must each be two digits long.  But if you use / or -, then you
  347.        need not use both digits for months or days less than ten.  For
  348.        example, 9/5/93 is fine; 9-28-93 is fine; but 92893 is not.
  349.        Regardless of whether you use / or - or not, you must always
  350.        specify the month first, then the day, and then the year.
  351.  
  352.        If you use /E and /L together, and the dates you use on both of
  353.        them are the same, as in /E9-27-93 /L9-27-93, then GO will show
  354.        you just the files that have that exact date.  Or if you use both
  355.        /E and /L and the date on the /E switch is the later of the two
  356.        dates, then you'll get a display of just the files that were last
  357.        updated on or between those two dates.  (You cannot specify a
  358.        later date on the /L switch than that on the /E switch, though.
  359.        That wouldn't make sense, so GO.CMD doesn't allow it.)
  360.  
  361.        Another way to use the /E and /L switches is to specify a number
  362.        of days prior to the current date (or the date your system thinks
  363.        is the current date, anyway).  To use this option, use the minus
  364.        symbol (-) and a number after the /E or /L switch.  Thusly, /E-10
  365.        would only look at files from 10 or more days earlier than the
  366.        current system date.  The range of this number with the /L switch
  367.        is from -0 (specifies current system date) to -365 (one year
  368.        prior to the current system date).  While this range also applies
  369.        to the /E switch, using /E with -0 is pointless since it would
  370.        mean the same thing as not using any /E switch.  It is useful
  371.        with -1 to -365 though.  Since we in Omaha have a correct-date
  372.        fetish, we don't know for sure what would happen if you had your
  373.        system date set to somewhere in the past, so that you'd have
  374.        files with dates later than what your system thought was the
  375.        current date.  And we didn't build support for a plus feature
  376.        into the program, also because of our correct-date fetish.  If
  377.        your system date is current, then there are no such files as +2
  378.        or +365 or plus anything else.
  379.  
  380.        NOTE:  In all cases, the minus option is relative to the system
  381.        date only.  Never anything else.  It has been brought to our
  382.        attention that a user might think that /E7-25-93 /L-10 would mean
  383.        files earlier than 7/25/93 and later than 10 days before that.
  384.        No, that's not what it means.  It would mean files earlier than
  385.        7/25/93 and later than 10 days earlier than the system date.
  386.  
  387. /LT and /GT Less Than and Greater Than /LT1048576
  388.                                     or /LT1024K
  389.                                     or /LT1M
  390.        Limits the search to files that are Less Than or equal to a cer-
  391.        tain size, or Greater Than or equal to a certain size.  The num-
  392.        ber refers to the number of bytes of data in the file.  It is the
  393.        same as the number you see in the size column of a DIR command's
  394.        output.  Or if you'd like to specify the number of kilobytes in-
  395.        stead of the number of bytes, say #K.  Or #M for the number of
  396.        megabytes.  Therefore /LT1048576, /LT1024K, and /LT1M are all
  397.        exactly identical to each other in meaning.  (That's right, in
  398.        case you don't know it, a kilobyte is 1024 bytes, not 1000 bytes.
  399.        And a megabyte is 1024 kilobytes, not 1000 kilobytes.  Computers
  400.        work with powers of two, not ten.  So the prefixes kilo- and
  401.        mega- do not have their normal meanings when used in computer
  402.        terms.)
  403.  
  404.        If you use /LT and /GT together, and the sizes you use on both of
  405.        them are the same, as in /LT2048 /GT2048, then GO will show you
  406.        just the files that have that exact size.  Or if you use both /LT
  407.        and /GT, and the size on the /LT switch is the larger of the two,
  408.        then you'll get a display of just the files that are one or the
  409.        other of those two sizes or anything in between.  (You cannot
  410.        specify a larger size on the /GT switch than that on the /LT
  411.        switch, though.  That wouldn't make sense, so GO.CMD doesn't
  412.        allow it.)
  413.  
  414. /D Directory
  415.        Limits the search to the current directory, rather than the
  416.        default of every directory on every available non-floppy drive.
  417.  
  418. /DS Directory and Subdirectories
  419.        This is just like the /D switch only it also includes files in
  420.        directories underneath the current one.
  421.  
  422. /O search specified drive Only         /OE
  423.        Limits the search to a specific drive only.  Can be any drive on
  424.        your system.  When used, GO searches all of that drive and none
  425.        of any other drives.  The example above would tell GO to search
  426.        the E: drive only.
  427.  
  428. /X eXclude drive(s)                    /XEH
  429.        This switch allows you to tell GO to ignore certain drives.  The
  430.        example above says that you don't want GO to search the E: or H:
  431.        drives.  /XE would tell GO to just ignore the E: drive.  Etc.
  432.  
  433. /F Floppies
  434.        This switch tells GO to search the A: and B: drives (if they have
  435.        disks in them) as well as C: and higher (which is the default).
  436.  
  437. /C Change directory
  438.        This switch lets you tell GO to change to the directory that
  439.        contains each filename before executing [command] with each file
  440.        you had selected.  This is especially useful when you want GO to
  441.        find and execute some command you don't remember the location of.
  442.        You would use START as the [command], and the first few letters
  443.        of the command you want to execute as the [filespec], and use the
  444.        /C switch so that the command will be able to execute once GO has
  445.        helped you find it---since there are so many commands that can
  446.        only work while you're in their own directory.
  447.  
  448. /N No full filespec
  449.        This switch lets you tell GO to pass just the filename (as in
  450.        FILENAME.EXT) rather than the full file specification (as in
  451.        C:\DIRNAME\FILENAME.EXT) as it usually does.  Because some
  452.        programs don't understand pathname information.  Obviously you
  453.        need to be in the directory that contains the file when you
  454.        execute a command this way, but GO.CMD always assumes the /C
  455.        switch when you use the /N switch, so you don't have to specify
  456.        it yourself.
  457.  
  458. /P Pause
  459.        This switch is for control freaks.  It gives you a chance to
  460.        monitor your command step by step.  Between single executions of
  461.        your [command], you'll receive a "Press any key when ready"
  462.        prompt.  If things don't appear to be going your way, you can use
  463.        Ctrl-C to abort the run.  Or if for any other reason you want GO
  464.        to pause after executing [command] with one selected filename and
  465.        before going on to the next, then /P is the switch you use to
  466.        make it do that.  (Of course you can use Ctrl-C to break out of
  467.        execution even if you haven't used the /P switch.  It's just that
  468.        if you use /P, you'll be able to get out easier!)
  469.  
  470.        And by the way, don't think it strange if you receive a message
  471.        that says:
  472.        "REX0004: Error 4 running GO.CMD, line 1: Program interrupted"
  473.        if you do use Ctrl-C to break out of the program.  If you inter-
  474.        rupt the program, it is not abnormal for the program to tell you
  475.        that it got interrupted.
  476.  
  477. /S START command
  478.        If [command] is something that takes more than just a second, and
  479.        you want [command] to be executed with all of your chosen files
  480.        all at once in separate sessions, rather than one after the other
  481.        in the same session, then you want to use the /S switch which
  482.        will make GO execute START /C [command] rather than just
  483.        [command], with each selected filename.  Just understand that if
  484.        you tell GO to use the /S switch and then select twenty different
  485.        filenames, GO is going to attempt to start up twenty different
  486.        sessions!  Don't do that unless your hardware has enough power.
  487.  
  488. /Y Yes, select all the matching files without asking
  489.        This switch will make GO skip the whole section of the program
  490.        that makes it display the filenames and allow you to select the
  491.        ones you want to work with.  It just automatically executes the
  492.        [command] against all the files that match your specifications,
  493.        without asking you.  Use it with caution only in situations
  494.        where you're sure that you do want the [command] to be performed
  495.        on every single matching file that GO could possibly find.  When
  496.        the /Y switch is used, GO will not display the Copyright notice
  497.        or say "Searching....please wait" as it usually does, because the
  498.        main purpose of the /Y switch is for batch files and you may want
  499.        your batch files to leave the screen blank.
  500.  
  501. /1 One long command
  502.        Ordinarily, GO executes your [command] once for each filename you
  503.        select, with only one filename on each commandline.  If you have
  504.        a command that allows more than one filename on its commandline,
  505.        you might want to use the /1 switch.  The command:
  506.        GO EDIT *.TXT
  507.        would execute these commands for you:
  508.        EDIT C:\ONE.TXT
  509.        EDIT D:\UTIL\TWO.TXT
  510.        EDIT E:\DIRNAME\SUBDIR\THREE.TXT
  511.        if those were the three files you selected.  But the command:
  512.        GO EDIT *.TXT /1
  513.        would execute just this one long command:
  514.        EDIT C:\ONE.TXT D:\UTIL\TWO.TXT E:\DIRNAME\SUBDIR\THREE.TXT
  515.  
  516.        NOTE:  When using the /1 switch, it is possible to exceed OS/2's
  517.        commandline length limit!  When you execute a command that's
  518.        longer than what your operating system can see, it only sees the
  519.        first part of it.  In some cases, this can cause BIG problems!
  520.        So be careful with the /1 switch, when selecting a very large
  521.        number of files.  And of course, if you're using GO to execute
  522.        a DOS program, it is VERY easy to run into DOS's commandline
  523.        length limit (which is 127 characters, including more than
  524.        twenty characters that OS/2 for some reason sends to the DOS
  525.        session itself, so that leaves you with only around a hundred
  526.        characters that you can use).
  527.  
  528.        And if you use the /N switch to keep the command short even while
  529.        selecting a lot of filenames, remember that it will only work if
  530.        all of the files are in the SAME directory.
  531.  
  532. The GO-OP Environment Variable
  533.        If you find yourself using the same GO switches nearly every time
  534.        you use GO, create an environment variable named GO-OP (for GO
  535.        OPtions) and put those switches there.  For example, if you
  536.        almost always leave a data disk in your CD-ROM drive but you
  537.        almost always want GO to avoid searching it, you can put the
  538.        command SET GO-OP=/XF (that's assuming your CD-ROM's drive
  539.        letter is F:) into your CONFIG.SYS file (and reboot, of course).
  540.        Then every time you run GO, it will act like you had typed /XF
  541.        right on the commandline.  SET GO-OP=/XF /1 in CONFIG.SYS would
  542.        cause GO to act like you'd typed /XF /1 on the commandline,
  543.        every time, without you ever typing /XF /1 again.  Etc.
  544.  
  545.        Anything you type on the commandline will just be added to what-
  546.        ever your GO-OP environment variable says.  For example if GO-OP
  547.        is /XF /1 and you type GO EDIT /S /P then GO will think that you
  548.        had typed GO EDIT /XF /1 /S /P on the commandline instead.
  549.  
  550.        Now assuming that GO-OP still says /XF /1 and you want to make
  551.        GO act like you had NOT used the /1 switch, how would you do
  552.        that?  Easy.  Add /-1 to your commandline.  Anything that starts
  553.        with /- or -- tells GO to ignore the corresponding switch on the
  554.        GO-OP variable.  /-X would make GO ignore the /XF on GO-OP.  /-P
  555.        would make GO ignore a /P on the GO-OP variable.  /-O would make
  556.        GO ignore a /OC switch on GO-OP.  Etc.
  557.  
  558.        How about switches that have data attached to them?  What if you
  559.        want to make GO use the same switch but with different data than
  560.        what appears on the GO-OP variable?  Well, if GO-OP has /XF in
  561.        it, and you used /XD on GO's commandline, then D: would be the
  562.        only drive excluded from GO's search.  The /XD on the command-
  563.        line REPLACES the /XF that GO sees on the GO-OP variable.  If
  564.        you want GO to keep excluding F: but also exclude D:, then you
  565.        must use /XDF or /XFD on the commandline.
  566.  
  567.        Basically the GO-OP variable is used and overridden in exactly
  568.        the same ways as DOS 5.0's DIRCMD variable.
  569.  
  570.        You may use any of GO's switches on the GO-OP variable except
  571.        /CH and /CT.
  572.  
  573.        And of course like any other environment variable, you can
  574.        change it by simply issuing another SET command, rather than
  575.        editing CONFIG.SYS and rebooting.  However, when you do that,
  576.        the change is made ONLY to the environment in that commandline
  577.        session and any session started from that one.  Not in any other
  578.        sessions you have open or any sessions that you start from some-
  579.        where else.  If you want an environment change to affect all of
  580.        your commandline sessions, then editing CONFIG.SYS and rebooting
  581.        is the only way.
  582.