home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / pushd21.zip / d.cmd < prev    next >
OS/2 REXX Batch file  |  1993-07-28  |  1KB  |  46 lines

  1. /* D */
  2. /* Ken Neighbors  30 May 1993 */
  3. /* change directory, slash = backslash */
  4. /* revised:  Ken Neighbors  28 jul 93  added support for spaces in dir       */
  5.  
  6. parse arg '"'NewDir'"' rest
  7.  
  8. if ( NewDir == '' ) then do
  9.     parse arg NewDir rest
  10. end
  11.  
  12. if ( rest <> '' ) then do
  13.     say '"'rest'"' 'ignored'
  14. end
  15.  
  16. NewDir = translate(NewDir,'\','/');
  17.  
  18. if ( NewDir == '' ) then do
  19.     say beautify(directory());
  20. end
  21. else do
  22.     NewDirVerify = directory(NewDir);
  23.     if ( NewDirVerify == '' ) then do
  24.     say NewDir': No such directory.'
  25.     exit 1
  26.     end
  27. end
  28.  
  29. exit 0
  30.  
  31. beautify:
  32.     uc='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  33.     lc='abcdefghijklmnopqrstuvwxyz'
  34.  
  35.     parse arg Directory
  36.     if ( Directory <> '' ) then do
  37.     /* Lowercasize the drive letter */
  38.     DriveLetter = substr(Directory,1,1)
  39.     DriveLetter = translate(DriveLetter,lc,uc)
  40.     Directory = overlay(DriveLetter,Directory,1)
  41.  
  42.     /* Lowercasize the whole thing */
  43.     /* Directory = translate(Directory,lc,uc) */
  44.     end
  45. return Directory
  46.