home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netdor3.zip / DISK_12 / IMAGE11.ZIP / ADMTOOLS / QFOLDER.CMD < prev    next >
OS/2 REXX Batch file  |  1993-08-20  |  3KB  |  73 lines

  1. /*****************************************************************************
  2.  *         QFOLDER - Determine directory corresponding to a folder           *
  3.  *                      Tom Bridgman (CORE at WATSON)                        *
  4.  *****************************************************************************
  5.  *                    Licensed Materials-Property of IBM                     *
  6.  *               5604-472 (c) Copyright IBM Corporation, 1993                *
  7.  *                           All rights reserved.                            *
  8.  *                  US Government Users Restricted Rights -                  *
  9.  *                 Use, duplication or disclosure restricted                 *
  10.  *                by GSA ADP Schedule Contract with IBM Corp.                *
  11.  ****************************************************************************/
  12. trace 'O'
  13. signal on syntax
  14. signal on novalue
  15. parse arg FldName, Root
  16. parse source . How Me
  17. if FldName = '?'
  18.   then signal Tell
  19. call RxFuncAdd 'SYSLOADFUNCS', 'REXXUTIL', 'SYSLOADFUNCS'
  20. SynRef = 'SYSLOADFUNCS'
  21. call SysLoadFuncs
  22. drop SynRef
  23. Cmd = (How = 'COMMAND')
  24. if pos('\', Me) > 0
  25.   then do
  26.     MyPath = left(Me, max(3, lastpos('\', Me)-1))
  27.     call setlocal
  28.     call value 'PATH', MyPath';'value('PATH',,'OS2ENVIRONMENT'), 'OS2ENVIRONMENT'
  29.   end
  30. FldPath = ''
  31. SynRef = 'QDESKTOP'
  32. if Root = ''
  33.   then Root = 'QDESKTOP'()
  34. drop SynRef
  35. if right(Root, 1) <> '\'
  36.   then Root = Root'\'
  37. FldName = strip(strip(FldName),,'"')
  38. if Root <> ''
  39.   then do
  40.     call SysFileTree Root'*', 'DIRS.', 'DSO'
  41.     do I = 1 to Dirs.0 while FldPath = ''
  42.       if SysGetEA(Dirs.I, '.LONGNAME', 'NAME') = 0
  43.         then if substr(Name, 5) == FldName
  44.           then FldPath = Dirs.I
  45.     end
  46.   end
  47. if Cmd
  48.   then if FldPath = ''
  49.     then say 'The directory for "'FldName'" could not be determined.'
  50.     else say 'The "'FldName'" directory is "'FldPath'".'
  51. return FldPath
  52.  
  53. Tell:
  54. say 'QFOLDER foldername'
  55. say 'Returns the name of the directory corresponding to the specified folder name.'
  56. say 'Note that folder names are case sensitive, and spaces in names are significant.'
  57. say 'The foldername can be enclosed in quotes, if desired.'
  58. exit 0
  59.  
  60. Syntax:
  61. signal off novalue
  62. select
  63.   when SynRef = 'QDESKTOP'
  64.     then say 'QDESKTOP.CMD has to be in the PATH or the same directory as' Me'.'
  65.   otherwise
  66.     say 'Syntax error' rc '('errortext(rc)') raised in line' sigl'.'
  67. end
  68. exit 2
  69.  
  70. Novalue:
  71. say 'Novalue error ('condition('D')') raised in line' sigl'.'
  72. exit 2
  73.