C#判断指定分区是否是ntfs格式

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

C#判断指定分区是否是ntfs格式

using System;
using System.IO;
 
namespace RobvanderWoude
{
    class IsNTFS
    {
        public static int Main( string[] args )
        {
            try
            {
                if ( args.Length == 0 )
                {
                    return WriteError( string.Empty );
                }
                if ( args.Length > 1 )
                {
                    return WriteError( "Invalid number of arguments." );
                }
 
                string drive = args[0].ToUpper( );
 
                DriveInfo[] allDrives = DriveInfo.GetDrives( );
 
                foreach ( DriveInfo drv in allDrives )
                {
                    if ( drive == drv.Name.Substring( 0, 2 ) )
                    {
                        if ( drv.IsReady )
                        {
                            Console.WriteLine( drv.DriveFormat.ToUpper( ) );
                            if ( drv.DriveFormat == "NTFS" )
                            {
                                return 0;
                            }
                            else
                            {
                                return 2;
                            }
                        }
                        else
                        {
                            Console.WriteLine( drv.DriveType.ToString( ).ToUpper( ) );
                            return 1;
                        }
                    }
                }
                return WriteError( "Invalid drive specification." );
            }
            catch ( Exception e )
            {
                // Display help text with error message
                return WriteError( e );
            }
        }
        // Code to display help and optional error message, by Bas van der Woude
        public static int WriteError( Exception e )
        {
            return WriteError( e == null ? null : e.Message );
        }
 
        public static int WriteError( string errorMessage )
        {
            string fullpath = Environment.GetCommandLineArgs( ).GetValue( 0 ).ToString( );
            string[] program = fullpath.Split( '\\' );
            string exeName = program[program.GetUpperBound( 0 )];
            exeName = exeName.Substring( 0, exeName.IndexOf( '.' ) );
 
            /*
            IsNTFS,  Version 1.00
            Return 'errorlevel' 0 if the specified drive is NTFS formated
 
            Usage:    ISNTFS  drive:
             
            Note:     Returns 'errorlevel' 0 if NTFS, 2 if not, 1 if not ready or invalid
 
            Written by Rob van der Woude
            http://www.robvanderwoude.com
            */
            if ( string.IsNullOrEmpty( errorMessage ) == false )
            {
                Console.Error.WriteLine( );
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Error.Write( "ERROR: " );
                Console.ForegroundColor = ConsoleColor.White;
                Console.Error.WriteLine( errorMessage );
                Console.ResetColor( );
            }
 
            Console.Error.WriteLine( );
            Console.Error.WriteLine( "IsNTFS,  Version 1.00" );
            Console.Error.WriteLine( "Return 'errorlevel' 0 if the specified drive is NTFS formated" );
            Console.Error.WriteLine( );
            Console.Error.Write( "Usage:    " );
            Console.ForegroundColor = ConsoleColor.White;
            Console.Error.WriteLine( "{0}  drive:", exeName.ToUpper( ) );
            Console.ResetColor( );
            Console.Error.WriteLine( );
            Console.Error.WriteLine( "Note:     Returns 0 if NTFS, 2 if not, 1 if not ready or invalid." );
            Console.Error.WriteLine( );
            Console.Error.WriteLine( "Written by Rob van der Woude" );
            Console.Error.WriteLine( "http://www.robvanderwoude.com" );
            return 1;
        }
    }
}