C#判斷指定分區是否是ntfs格式

xf3f 9年前發布 | 883 次閱讀 C#

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;
    }
}

}</pre>

 本文由用戶 xf3f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!