返回顶部

收藏

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

标签:ntfs,分区格式,C#

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. jeffz@live.com (老赵) 发表 2012-04-11 01:15:55 关于C#中async/await中的异常处理(上)
  2. skeet 发表 2012-01-01 20:43:10 Awaiting CodeMash 2012
  3. leaver 发表 2013-05-24 03:31:19 武汉大学论文参考文献格式生成工具(C#)
  4. efour 发表 2013-08-09 09:41:55 C#读取Xml中出现”:”,”&”等特殊符号时用ASCII代替。
  5. 国祥 发表 2013-09-11 09:06:25 NTFS稀疏文件(仅NTFS5)——非原创(译文)
  6. abcd9.com 发表 2014-04-01 00:09:04 C#中的set和get方法
  7. 逝去日子 发表 2014-07-31 12:29:29 ASp.net 三层架构解析
  8. 张浩浩 发表 2014-06-25 09:44:43 C#多线程编程
  9. 博主 发表 2014-10-07 16:00:00 优酷真实视频地址解析——2014年10月7日[ZT]
  10. 逝去日子 发表 2015-03-31 03:00:19 c#中的using用法
  11. 博主 发表 2014-09-10 16:12:19 一句话解释c#中的特性
  12. root 发表 2015-04-19 01:50:01 面试题整理:C#(一)

发表评论