home *** CD-ROM | disk | FTP | other *** search
- @echo OFF
- REM **************************************************************************
- REM *** ValidDir.bat Check if the specified directory is valid. Return ***
- REM *** errorlevel 0 if it's OK, else ERRORLEVEL 1. If two ***
- REM *** parameters are given then print error if problem. ***
- REM **************************************************************************
- CEnvi %0.bat %1 %2
- GOTO CENVI_EXIT
-
- main(argc,argv)
- {
- RetCode = 1; // assume failure
- if ( 1 == argc || !strcmpi(argv[1],"/?") || !stricmp(argv[1],"/help") ) {
- Instructions();
- } else {
- RetCode = ( ValidSubDirectoryName(argv[1],argc==3) ) ? 0 : 1 ;
- }
- return( RetCode );
- }
-
- ValidSubDirectoryName(DirName,PrintMessageIfInvalid)
- // test if DirName is a valid directory name. If it is then return TRUE, else
- // print message if PrintMessageIfInvalid is True and return FALSE. ?This does
- // not work, by the way, on the root directory
- {
- // append "\." to name to check for directory
- sprintf(TestDir,"%s\\.",FullPath(DirName));
- if ( 0 == DirName[0]
- || '\\' == DirName[strlen(DirName)-1]
- || NULL == Directory(TestDir,FALSE,0xFFFF,FATTR_SUBDIR) ) {
- if ( PrintMessageIfInvalid )
- fprintf(stderr,"\"%s\" is not a valid sub-directory name.\a\n",DirName);
- return FALSE;
- }
- return TRUE;
- }
-
- Instructions()
- {
- printf("\n")
- printf(" ValidDir.bat - Test if a subdirectory name is valid\n")
- printf("\n")
- printf(" USAGE: ValidDir SubdirSpec [PrintError]\n")
- printf("\n")
- printf(" Check if subdirectory name is valid, and return ERRORLEVEL 0 if it is\n")
- printf(" and ERRORLEVEL 1 if it is not. If PrintError is supplied then a\n")
- printf(" message will be printed if directory is invalid.\n")
- printf("\n")
- }
-
- :CENVI_EXIT