home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource1 / cenvid / pathdel.bat < prev    next >
DOS Batch File  |  1993-11-15  |  1KB  |  46 lines

  1. @echo off
  2. REM PathDel.bat - remove a directory from the current path, if it's there
  3.  
  4. if "%1"=="" GOTO SHOW_HOW
  5. if not "%2"=="" GOTO SHOW_HOW
  6. cenvi %0.BAT %1
  7. GOTO FINI
  8.  
  9. :SHOW_HOW
  10. ECHO PathDel.bat - Delete a directory from the PATH if it's there
  11. ECHO USAGE: PathDel DirSpec
  12. GOTO FINI
  13.  
  14.  
  15. GOTO CENVI_EXIT
  16.  
  17. main(argc,argv)
  18. {
  19.    OldDir = argv[1]
  20.    if NULL == (Position = FindDirInPath(OldDir))
  21.       printf("The Directory \"%s\" is not in PATH.\n",OldDir)
  22.    else {
  23.       // copy from Path beyond this dir
  24.       strcpy(Position,Position+strlen(OldDir))
  25.       // if there is a semi-colon at this position, then copy from beyond that too
  26.       if (Position[0] == ';')
  27.          strcpy(Position,Position+1)
  28.    }
  29. }
  30.  
  31. FindDirInPath(Dir) // search through path for this Dir, return pointer if found
  32.                    // and return NULL if not found
  33. {
  34.    len = strlen(Dir)
  35.    p = PATH
  36.    do {
  37.       if ( 0 == strnicmp(p,Dir,len)  && (p[len]==0 || p[len]==';') )
  38.          return(p)
  39.       p = strchr(p,';')
  40.    } while( p++ != NULL )
  41.    return(NULL)
  42. }
  43.  
  44. :CENVI_EXIT
  45. :FINI
  46.