1 SD

      SD , short for SET DEFAULT, is a program to ease popping  around
 the  directory structure.  It's advantage over the system SET DEFAULT
 command is that it allows you to specify a wildcarded file-spec.   SD
 without any parameters will set your default to your login directory.

      SD can be used by either doing a SET COMMAND SD, or by  defining
 SD as a foreign command (i.e.  $SD :== $dev:[dir]SD)

      SD displays the directory  moved  to,  preceded  by  ">"  if  it
 actually changed directories, and "@" if it didn't really move.
2 ^

      This is the same as  "-",  it  moves  you  up  one  level.   For
 example, if from USER$DISK1:[DOE.JOHN] you entered
      $ SD ^
 You would then be at USER$DISK1:[DOE]

      Note, you can have any number of these, one for each  level  you
 want to go up.  (i.e.  SD ^^^)

      The reason for this, is that you  can't  end  a  line  with  "-"
 without DCL thinking you are continuing the line, so this gives you a
 shorthand way to move up.
2 @

      This shows your current default directory.
2 Examples

      Say from your main directory you  want  to  move  down  to  some
 subdirectory  that  contains the file XXX.YYY, you could enter any of
 the following commands:
      $ SD [...]XXX.YYY
      $ SD ...]XXX.YYY
 note, for moving around you can leave off a whole heck of a  lot,  to
 move   into  subdirectory  [.SUBDIR]  you  could  enter  any  of  the
 following:
      $ SD SUBDIR
      $ SD .SUBDIR
      $ SD [.SUBDIR
      $ SD .SUBDIR]
 and, of course, if it were your only subdirectory that  started  with
 "S" you could say:
      $ SD S*
      $ SD S*]
      $ SD .S*
2 Restrictions

      Unlike a few of the CD commands, this command will not execute a
 LOGIN.COM  file  in  the  directory  it  moves  to.  If you need this
 capability, you must create a short command procedure like:
      $ SD 'P1
      $ if f$search("login.com").nes."" then @login

      Similarly, if you want to PUSH and  POP  directories,  you  will
 need to write a short command procedure to do so.

      Also, you cannot use a wildcarded directory-spec to SD  into  an
 empty  directory  (because  SD basically looks for [dir-spec]*.*;* to
 determine where a directory is if it's wildcarded, and it can't  find
 any files) So that, the following lines won't work:
      $ CREATE/DIRECTORY [.NEWDIR]
      $ SD [.new*]
 rather, you must specify the complete directory name if it is empty:
      $ SD NEWDIR will work.
